哈希表(除留余数法构造 线性探测再散列法处理冲突)
哈希表(除留余数法构造 线性探测再散列法处理冲突)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int a[11]={22,41,53,46,30,13,1,67},b[11];
int i;
int n,t;
n=8; //n是a数组元素的个数
double sum=0;
memset(b,0,sizeof(b)); //哈希表处理字符,正数会比较好
for(i=0;i<n;i++)
{
t=3*a[i]%11;
while(b[t]!=0)
{
t++;
sum++;
}
sum++;
b[t]=a[i];
}
printf("%.0f",sum/n);
return 0;
}