问答题 使用散列函数: 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 } }
【答案解析】