資源簡介
設定哈希函數 H(key) = key MOD 11 ( 表長=11 ),輸入一組關鍵字序列,根據線性探測再散列解決沖突的方法建立哈希表的存儲結構,顯示哈希表,任意輸入關鍵字,判斷是否在哈希表中。
代碼片段和文件信息
#include??
#include??
#include??
#define?MAX?11?
typedef?struct?
{?
int?num;?
char?name[20];?
}?
ElemType;//定義查找的結點元素?
typedef?struct?
{?
ElemType?*elem;?//數據元素存儲基址
int?count;?//數據元素個數
int?sizeindex;?
}HashTable;//定義哈希表?
int?Hash(int?num)?
{?
int?p;?
p=num%11;?
return?p;?
}//定義哈希函數?
void?InitHash(HashTable?*H)//創建哈希表?
{?
int?i;?
????H->elem=(ElemType?*)malloc(MAX*sizeof(ElemType));?
H->count=0;?
H->sizeindex=MAX;?
for(i=0;i H->elem[i].num=0;//初始化,使SearHash函數能判斷到底有沒有元素在里面?
}?
int?SearHash(HashTable?Hint?keyint?*p)//查找函數?
{?
*p=Hash(key);?
while(H.elem[*p].num!=key&&H.elem[*p].num!=0)?
*p=*p+1;?
if(H.elem[*p].num==key)?
return?1;?
else?
return?0;?
}?
- 上一篇:vmpk模擬鋼琴源代碼
- 下一篇:redis-4.0.0.gem
評論
共有 條評論