给定一系列整型关键字和素数P,用除留余数法定义的散列函数H(Key)=Key将关键字映射到长度为P的散列表中。用线性探测法解决冲突。
1 #include <stdio.h> 2 int a[1009],b[1009]; 3 int main(){ 4 int n,p; 5 scanf("%d%d",&n,&p); 6 int x,i,j; 7 for(i=0;i<n;i++){ 8 scanf("%d",&x); 9 int H=x%p; 10 int t=0; 11 for(j=0;j<p;j++){ 12 if(a[j]==x){ 13 printf(" %d",j); 14 t=1; 15 break; 16 } 17 } 18 if(t==0){ 19 while(b[H]){ 20 H=(H+1)%p; 21 } 22 b[H]=1; 23 a[H]=x; 24 if(i==0){ 25 printf("%d",H); 26 }else{ 27 printf(" %d",H); 28 } 29 } 30 } 31 return 0; 32 }
标签:12,Key,int,18,1009,2023 From: https://www.cnblogs.com/Lyh3012648079/p/17910615.html