问答题
使用散列函数:
H(k)=3k mod 11
采用开放地址法处理冲突时,设计一个算法查找一个指定元素值的位置。
【正确答案】实现本题功能的函数代码如下:
int find(int x)
{
int h,find=1;
h=(3*s) % M;
while(hlist[h].key!=s)
{
h=(h+(s*7) % 10+1) % M;
if(hlist[h].key==0)
{
find=0;
break;
}
}
if(find==1)
{
return 1; //成功返回1
}
else
{
return 0; //失败返回0
}
}
【答案解析】