哈稀表必威体育精装版分析和总结.pdf

哈稀表必威体育精装版分析和总结.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈希 一、实验目的 1.掌握什么是哈希表和哈希函数。 2.掌握哈希表的构建和哈希查找。 二、实验环境 1.硬件:每个学生需配备计算机一台。操作系统: DOS 或 Windows 2.软件: DOS 或 Windows 操作系统 +Turbo C; 三、实验要求 1.设计一个哈希表。哈希函数用除留余数法构造,用线性探测再散列处理冲突。 2.学生成绩报告单。任给任一学生学号即可打印出该生的成绩报告单。 3.学生学号可以不按照顺序。 四、实验内容 1.现在某个学院有 20 名同学,每个同学记录包括:班级、学号 、姓名和语文、数学、外语等三门课程成 绩(学号为 2 位整数)。 2. 以学号为主关键字,用除留余数法构造哈希函数(请先考虑除数 p 的选择原则是什么?) ,用线性探测再 散列处理冲突构建哈希表。 3.输入任何一个学生学号,输出该学生的信息。 4.说明线性探测再散列处理的优缺点,用链地址法在实现。 #include stdio.h #include stdlib.h #include string.h #define MAXSIZE 100 int sum; typedef struct {char key[3]; int count; } hashtable_hc[MAXSIZE]; int hash_hc(char s[]) {return (s[0] +s[1]) %3;} void insertht_hc(hashtable_hc ha,char k[]) {int i,p; p=hash_hc(k); if (strcmp(ha[p] .key, )==0) { strcpy(ha[p] .key,k); ha[p] .count=1;} else { i=0; do{ ha[p] .count++; p=(p+ 1)%MAXSIZE; i++;}while (strcmp(ha[p] .key, )!= 0); strcpy(ha[p] .key,k); ha[p] .count=i; }} void createht_hc(hashtable_hc ha) {int i; char x[3]; for (i = 0;i MAXSIZE;i ++) { strcpy(ha[i] .key, ); ha[i] .count =0;} printf( 请输入学号 :\n ); for (i = 0;i sum;i ++) { flushall();gets(x); insertht_hc(ha,x);}} void searchht_hc(hashtable_hc ha,char k[]) {int i =0,p; p=hash_hc(k); while (strcmp(ha[p] .key,k) !=0 ha[p] .count!= 0) { p=(p +1)%MAXSIZE;i ++ ;} if (strcmp(k,ha[p] .key)== 0) printf( 找到关键字 ,地址为 :%d,学号为 :%s\n ,p,ha[p] .key); else printf( 未找到 .\n );} void dispht_hc(hashtable_hc ha) {int i,j =0,k =1; printf( 哈稀表为 (学号 ,位置 ):\n ); for (i = 0;i MAXSIZE;i ++) {if (strcmp(ha[i] .key, )!=0) { k++;printf( (%s , %d) ,ha[i] .key,i); if (++j %4 ==0)printf( \n ); } if (ksum)break;}} void main() { hashtable_hc ha; char num[3],ch[] = # ; printf( 输入总人数不大于 %d: ,MAXSIZE); scanf(%d , sum); createht_hc(ha); dispht_hc(ha); do{ printf( \n 输入要查找的学号 : ); flushall();gets(nu

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档