哈希表(除留余数法构造 线性探测再散列法处理冲突)

哈希表(除留余数法构造  线性探测再散列法处理冲突)

哈希表(除留余数法构造 线性探测再散列法处理冲突)

#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;
}