哈希表入门--详解

xiaoxiao2021-02-28  84

直接放代码:

void inserthash(int hash[],itn m,int data) //将关键字data插入哈希表hash中 { int i; i=data; //计算哈希地址 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; //计算哈西地址 while(hash[i]&&hash[i]!=key)//怕段是否冲突 i=(++i)%m; //线性探测法解决冲突 if(hash[i]==0) //查找到开放单元,表示查找失败 return -1; else return i; }

转载请注明原文地址: https://www.6miu.com/read-48632.html

最新回复(0)