哈希表入门--详解

来源:互联网 发布:易语言人工智能机器人 编辑:程序博客网 时间:2024/06/06 02:18


直接放代码:


void inserthash(int hash[],itn m,int data)  //将关键字data插入哈希表hash中
{int i;i=data%13; //计算哈希地址while(hash[i])  //如果该元素位置被占用i=(++i)%m;  //线性探测法解决冲突hash[i]=data;}void createhash(int hash[],int m,int data[],int n){int i;for(i=0;i<n;i++)  //循环将原始数据保存到哈希表中inserthash(hash,m,data[i]);}

int hashsearch(int hash[],int m,int key) //在大小为m的哈希表中 找key值的下标{int i;i=key%13;  //计算哈西地址while(hash[i]&&hash[i]!=key)//怕段是否冲突i=(++i)%m; //线性探测法解决冲突if(hash[i]==0) //查找到开放单元,表示查找失败return -1;elsereturn i;}