📄 9.45.txt
字号:
int BuildHashTab(ChainHashTab &H, int n, HKeyType es[])
/* 直接调用下列函数 */
/* 哈希函数: */
/* int Hash(ChainHashTab H, HKeyType k); */
/* 冲突处理函数: */
/* int Collision(ChainHashTab H, HLink &p); */
{
if(n < 1) return NULLKEY;
int i;
H.elem = (HLink *)malloc(sizeof(HNode) * n);
for(i = 0; i < H.cursize; i++)
H.elem[i]->next = NULL;
HLink p,q;
int key,j = 0;
while(es[j]){
p = (HLink)malloc(sizeof(HNode));
p->data = es[j++];
key = Hash(H, p->data);
//查找是否已经存在
q = H.elem[key];
while(q != NULL) {
if(q->data == p->data) break;
q = q->next;
}
if(q == NULL) {
p->next = H.elem[key]; //插入链表头部.
H.elem[key] = p;
}
}
return SUCCESS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -