资源描述:
《哈希表的建立和查找.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、哈希表的建立和查找/*针对某个集体(比如所在班级)中的人名设计一个哈希表,使的平均查找的长度不超过2完成相应的建表和查表的程序题目要求: 假设人名为姓名的汉语拼音形式,待填入哈希表的人名工有30个,取平均查找长度的上限 为2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。 测试数据 自定义。*/#include#include#defineHASH_LEN50 //哈希表的长度
2、 #defineM47 //随机数#defineNAME_NO30 //人名的个数 typedefstruct {char*py; //名字的拼音intk; //拼音所对应的整数}NAME;NAMENameList[HASH_LEN]; //全局变量NAME typedefstruct //哈希表{char*py;
3、 //名字的拼音intk; //拼音所对应的整数intsi; //查找长度}HASH;HASHHashList[HASH_LEN]; //全局变量HASH voidInitNameList()//姓名(结构体数组)初始化 {char*f;intr,s0,i;NameList[0].py="wanghui";NameList[1].py="mayuelong";NameList[2].py="chenzhichen
4、g";NameList[3].py="sunpeng";NameList[4].py="zengqinghui";NameList[5].py="liqingbo";NameList[6].py="liujunpeng";NameList[7].py="jiangquanlei";NameList[8].py="xingzhengchuan";NameList[9].py="luzhaoqian";NameList[10].py="gaowenhu";NameList[11].py="zhuhaoyi
5、n";NameList[12].py="chenlili";NameList[13].py="wuyunyun";NameList[14].py="huangjuanxia";NameList[15].py="wangyan";NameList[16].py="zhoutao";NameList[17].py="jiangzhenyu";NameList[18].py="liuxiaolong";NameList[19].py="wangziming";NameList[20].py="fengjun
6、bo";NameList[21].py="lilei";NameList[22].py="wangjia";NameList[23].py="zhangjianguo";NameList[24].py="zhuqingqing";NameList[25].py="huangmin";NameList[26].py="haoyuhan";NameList[27].py="zhoutao";NameList[28].py="zhujiang";NameList[29].py="lixiaojun";for
7、(i=0;i