#include<stdio.h>#include<string.h>#include<stdlib.h>#include"hash.h"intmain(){
linhash H;int i,len,maxprime,n;data_t data,key;printf("input len:\n");scanf("%d",&len);
H =hash_creart(len);if(len %2==0){
maxprime = len -1;}else{
maxprime = len;}
n =(len *75)/100;
i =0;printf("the hash maxlen %d save data maxlen %d the maxprime %d\n",len,n,maxprime);printf("input data for insert\n");while(i < n){scanf("%d",&data);if(data ==-1){break;}hash_insert(H,data,maxprime);
i++;}printf("input data for seek\n");while(1){scanf("%d",&data);if(data ==-1){break;}
key =seek_hash(H,data,maxprime);printf("input data %d seek data %d\n",data,key);}
H =free_hash(H);return0;}
代码执行结果
input len:
15
the hash maxlen 15 save data maxlen 11 the maxprime 15
input datafor insert
23
34
14
38
46
16
68
15
7
31
26
input datafor seek
23
is found
input data 23 seek data 23
14
is found
input data 14 seek data 14
46
is found
input data 46 seek data 46
10
is no fond
20
is no fond