数据结构与算法 ~ 查找 ~ 散列查找(哈希~线性探查法和二次探查法)
/*search-hash*/
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
void Print(int *a){
int i;
printf("\n");
for(i=1;i<=a[0];++i)
printf("%4d",a[i]);
}/*Print*/
int formatlist(){
int e;
printf("\n====创建哈希表========");
printf("\n1-线性探查法 ");
printf("\n2-二次探查法");
printf("\n0-退出");
printf("\n请你选择:");
scanf("%d",&e);
return e;
}/*formatlist*/
void hashprint(int *hashtable){
int i;
/*打印哈希表*/
for(i=0;i<19;++i){
if(hashtable[i]!=-1)
printf("\n[%d]=%d",i,hashtable[i]);
}
}/*hashprint*/
/*构造哈希表*/
void createhash(int *hashtable,int *collision){
int i ,e,hkey,d,k=1;
/*哈希表初始化*/
for (i=0;i<19;++i)
hashtable[i]=-1;
printf("\n请输入数值(exit for 0):");
scanf(