資源簡(jiǎn)介
設(shè)定哈希函數(shù) H(key) = key MOD 11 ( 表長(zhǎng)=11 ),輸入一組關(guān)鍵字序列,根據(jù)線性探測(cè)再散列解決沖突的方法建立哈希表的存儲(chǔ)結(jié)構(gòu),顯示哈希表,任意輸入關(guān)鍵字,判斷是否在哈希表中。
代碼片段和文件信息
#include??
#include??
#include??
#define?MAX?11?
typedef?struct?
{?
int?num;?
char?name[20];?
}?
ElemType;//定義查找的結(jié)點(diǎn)元素?
typedef?struct?
{?
ElemType?*elem;?//數(shù)據(jù)元素存儲(chǔ)基址
int?count;?//數(shù)據(jù)元素個(gè)數(shù)
int?sizeindex;?
}HashTable;//定義哈希表?
int?Hash(int?num)?
{?
int?p;?
p=num%11;?
return?p;?
}//定義哈希函數(shù)?
void?InitHash(HashTable?*H)//創(chuàng)建哈希表?
{?
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函數(shù)能判斷到底有沒有元素在里面?
}?
int?SearHash(HashTable?Hint?keyint?*p)//查找函數(shù)?
{?
*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
評(píng)論
共有 條評(píng)論