实验要求
//运用除留余数法作为哈希函数及差值解决法解决哈希冲突解决法、设计哈希表。*/
//程序构思:
//依除留余数法将数据存储至哈希表中,发生哈希冲突时以差值解决法解决。
//除留余数法:
//Address=Key % Array_Size
//差值解决法:
//New_Address=(Old_Address+Offset)%Array_Siae
///数据查找时,同时也先用除留余数法运算出数据地址,
//若找不到运用差值法找出下一个数据地址,直到数据全查找完为止。
#include<stdio.h>
#define Max 6
#define HashMax 7
int Data[Max]={
12,160,219,522,725,9997}; //数据数组
int HashTab[HashMax];
int Counter=1; //计数器
int Hash_Mod(int Key) //哈希函数之除留余数法
{
return Key%7; //返回,键值除以哈希表大小取余数
}
int Collision_Offset(int Address) //差值哈希冲突解决法
{
int offset=3; //设差值为3
return (Address+offset)%7