资源描述:
《哈希表的创建源程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、附件2哈希表的创建源程序#include#include//time用到的头文件#include//随机数用到的头文件#include//toascii()用到的头文件#include//查找姓名时比较用的头文件#defineHASH_LEN50//哈希表的长度#defineP47//小于哈希表长度的P#defineNAME_LEN30//姓名表的长度typedefstruct//姓名表{char*py;//名字的拼音intm;//拼音所对应的ASCII码}NAME;NAMENam
2、eTable[HASH_LEN];//全局定义姓名表typedefstruct//哈希表{char*py;//名字的拼音intm;//拼音所对应的ASCII总和intsi;//查找长度}HASH;HASHHashTable[HASH_LEN];//全局定义哈希表intd[30],i,j;//全局定义随机数,循环用的i、j//****************************************初始化函数******************************voidInitNameTable()//姓名表的初始化{NameTable[0].py="zhang
3、yihao";NameTable[1].py="qiujiaxing";NameTable[2].py="zhoulei";NameTable[3].py="xuweiying";NameTable[4].py="zhanshengping";NameTable[5].py="wangwenkai";NameTable[6].py="gaodan";NameTable[7].py="renkung";NameTable[8].py="duixintong";NameTable[9].py="mazhe";NameTable[10].py="wangyongjie";Nam
4、eTable[11].py="kangwenhui";NameTable[12].py="tianhuanhuan";NameTable[13].py="zhouyuncheng";NameTable[14].py="liangzhuang";NameTable[15].py="zhangfan";NameTable[16].py="wangpengfei";NameTable[17].py="shafangfang";NameTable[18].py="yanghuan";NameTable[19].py="wangzhe";NameTable[20].py="shir
5、ui";NameTable[21].py="wangwenjuan";NameTable[22].py="wangqian";NameTable[23].py="chenyuhan";NameTable[24].py="wangxin";NameTable[25].py="guojing";NameTable[26].py="tanqining";NameTable[27].py="kangwenhui";NameTable[28].py="songyangyang";NameTable[29].py="yanfanglei";for(i=0;i6、)//将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字{ints=0;char*p=NameTable[i].py;//定义字符指针接受哈希结构体的拼音值for(j=0;*(p+j)!=' ';j++)s+=toascii(*(p+j));//对p指针接受的拼音值进行转化,转化成相应的ASICC码数值NameTable[i].m=s;}}//****************************************创建函数******************************voidCreateHashTable()//建立哈希表{f
7、or(i=0;i