下载此文档

哈希表的操作.doc


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
哈希表操作一 、查找、插入等方法理论知识的理解。,本实验是采用的是除留余数法创建。,本实验用的是线性探测再散列的方法。。二 ,哈希表的创建思想是由哈希函数得到,本实验就采用了除留余数法创建哈希表。,本实验是需要插入单词,所以需要调用string函数库,通过每个单词的地址数来进行下一步的查找计划。当插入单词地址已经存在时,就产生了冲突,因此需要采用线性探测再散列的方式来解决冲突。,因此需要输出整个哈希表。,当所有单词查找结束,查找长度也得出。,程序需要采用模块化进行设计。三 :voidInitwordlist(intn) 初始化哈希表操作结果:以字符形式插入单词,将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字。voidCreatehashlist(intn) 创建哈希表,并插入单词操作结果:(1)用除留余数法构建哈希函数;(2)用线性探测再散列处理冲突。voidfind()  查找哈希表中的单词操作结果:在哈希表中进行查找,输出查找的结果和关键字,并计算和输出查找成功的平均查找长度。voidprinthash()  显示哈希表操作结果:显示哈希表的存储情况:位置%d\t\t关键字%-6d\t\t单词%s\n。floataverage()操作结果:计算出平均查找长度。voidmenu()  菜单函数设计操作结果:显示格式:1向哈希表中插入单词(<15);     2查找哈希表中的单词;          3显示哈希表的存储情况;        4计算哈希表的平均查找长度;        5退出程序。intmain()  主程序设计操作结果:通过调用各个函数操作得到结果。:10111000四 :#defineHASH_LEN15 //HASH_LEN长度定义为15#defineM13 //:WORDwordlist[HASH_LEN];//全局变量typedefstruct{ charword[15];//输入的单词intnumber;//单词所对应的整数}WORD;typedefstruct{ char*word;//存储输入的单词intnumber;//单词所对应的整数intnumofseek;//查找的次数}HASH;HASHhashlist[HASH_LEN];//(intn){inti,j;char*w;//设立一个指针,指向单词的地址for(i=0;i<n;i++){  intsum=0;//存放单词地址printf("请输入第%d个单词(按回车结束):",i+1);gets(wordlist[i].word);//输入单词w=wordlist[i].word;//取地址for(j=0;*(w+j)!=0;j++)//将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字sum=sum+*(w+j);wordlist[i].number=sum;//存入每个单词的存放地址,即关键字}(intn)//创建哈希表,并插入单词{  inti;for(i=0;i<HASH_LEN;i++){hashlist[i].word="";//输入单词hashlist[i].number=0;//关键字hashlist[i].numofseek=0;//查找次数}for(i=0;i<n;i++){  intaddress,sum=0;address=wordlist[i].number%M; //除留余数法,将单词插入到哈希表中

哈希表的操作 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小97 KB
  • 时间2019-12-16