问题
问答题
已知带头结点的单链表中的关键字为整数,为提高查找效率,需将它改建为采用拉链法处理冲突的散列表。设散列表的长度为m,散列函数为Hash(key)=key%m。链表的结点结构为:。请在空缺处填入适当内容,使其成为一个完整算法。
void f33(LinkList L,LinkList H[],int m)
{//由带头结点的单链表L生成散列表H,散列表生成之后原链表不再存在
int i,j;
LinkList p,q;
for(i=0;i<m;i++)
H[i]=[ (1) ];
p=L—>next;
while(p)
{
q=p—>next
j=p—>key%m;
[ (2) ];
H[j]=p;
[ (3) ];
}
free(L);
}
答案
参考答案:p—>next=H[j]