【7050】已知散列函数为H(key)=key mod 13,冲突处理方法为外拉链法实现散列表的建立(利用插入算法实现)
#include<iostream> using namespace std; typedef struct node { node* next;int data; }LNode, * LinkList; typedef struct hashlist {int ListLength;LinkList list; }HashList; void List_Insert_HashList(HashList l, int key) {//calculate p valueint p = 0;for (int i = l.ListLength; i > 0; i--) {int flag = 0;for (int j = i - 1; j > 1; j--) {if (i % j == 0) {flag = 1;}}if (flag == 0) {p = i;break;}}int h = key % p;if (l.list[h].data == 0) {l.list[h].data = key;}else {LinkList p = new LNode;p->data = l.list[h].data;p->next = l.list[h].next;l.list[h].data = key;l.list[h].next = p;} } int main() {int m = 13;//create and initial hashlistHashList l;l.ListLength = m;l.list = new LNode[m];for (int i = 0; i < m; i++) {l.list[i].data = 0;l.list[i].next = NULL;}int key;cin >> key;while (key != 0) {List_Insert_HashList(l, key);cin >> key;}for (int i = 0; i < m; i++) {cout << i << ":";if (l.list[i].data != 0) {cout << l.list[i].data << " ";}LinkList p = l.list[i].next;while (p != NULL) {cout << p->data << " ";p = p->next;}cout << "\n";}return 0; }
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283网址:【7050】已知散列函数为H(key)=key mod 13,冲突处理方法为外拉链法实现散列表的建立(利用插入算法实现) https://www.yuejiaxmz.com/news/view/65666
相关内容
Python实现简便算法提升拼音输入法准确率与效率如何在 PostgreSQL 中实现数据的压缩存储以节省空间?
python 列表转为字典的两个小方法
有个开发者总结这 15 优雅的 JavaScript 个技巧
Python3排序 sorted(key=lambda)
Multiple entries with same key: 1=1 and 1=1
离散化算法
栈和队列
居家 DIY光栅衍射系列实验
EXCEL函数及数据分析技巧整理备用