哈希表-算法-hash表-C++實現(xiàn).docx

哈希表-算法-hash表-C++實現(xiàn).docx

ID:57438583

大小:133.88 KB

頁數(shù):11頁

時間:2020-08-16

哈希表-算法-hash表-C++實現(xiàn).docx_第1頁
哈希表-算法-hash表-C++實現(xiàn).docx_第2頁
哈希表-算法-hash表-C++實現(xiàn).docx_第3頁
哈希表-算法-hash表-C++實現(xiàn).docx_第4頁
哈希表-算法-hash表-C++實現(xiàn).docx_第5頁
資源描述:

《哈希表-算法-hash表-C++實現(xiàn).docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、哈希表算法hash表問題描述:針對某個集體(比如你所在的班級)中的“人名”設計一個哈希表,使得平均查找長度不超過R,完成相應的建表和查表程序。基本要求:假設人名為中國人姓名的漢語拼音形式。待填入哈希表的人名共有30個,取平均查找長度的上限為2。哈希函數(shù)用除留余數(shù)法構(gòu)造,用偽隨機探測再散列發(fā)處理沖突。#include#include#include//#include#defineHASH_LEN50//哈希表的長度#defineM47#defineNAME_NO30//人名的個數(shù)typedefstru

2、ctNAME{char*py;//名字的拼音intk;//拼音所對應的整數(shù)}NAME;NAMENameList[HASH_LEN];typedefstructhterm//哈希表{char*py;//名字的拼音intk;//拼音所對應的整數(shù)intsi;//查找長度}HASH;HASHHashList[HASH_LEN];/*-----------------------姓名(結(jié)構(gòu)體數(shù)組)初始化---------------------------------*/voidInitNameList(){NameList[0].py="zhanghongshuai

3、";NameList[1].py="xurensong";NameList[2].py="huangxiangyu";NameList[3].py="luoqi";NameList[4].py="zhangsan";NameList[5].py="lisi";NameList[6].py="wangwu";NameList[7].py="renwei";NameList[8].py="zhangchu";NameList[9].py="wangmengyuan";NameList[10].py="libaohua";NameList[11].py="zhao

4、yanlong";NameList[12].py="jwangyuxin";NameList[13].py="duyanmo";NameList[14].py="wangmingyang";NameList[15].py="lijiawei";NameList[16].py="hesiyu";NameList[17].py="zhanghailong";NameList[18].py="lixinyu";NameList[19].py="songdiyao";NameList[20].py="zhaomingzhi";NameList[21].py="zha

5、ngchenglong";NameList[22].py="sunjie";NameList[23].py="zhangdongmei";NameList[24].py="antianyu";NameList[25].py="zhulaiao";NameList[26].py="wangyuting";NameList[27].py="wangxiliang";NameList[28].py="zhangdeshuai";NameList[29].py="xumingming";char*f;intr,s0;for(inti=0;i

6、//求出各個姓名的拼音所對應的整數(shù){s0=0;f=NameList[i].py;for(r=0;*(f+r)!='