




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 源程序或过程: #include#include#define NIL 0#define DelNIL -1#define m 13#define n 20typedef structint key;LHashTable;void HashListinit(LHashTable HTn)int i;for(i=0;in;i+)HTi.key=NIL;void HashListclear(LHashTable HT)int i;for(i=0;in;i+)HTi.key=NIL;int Hash(int k)return(k%m);int HashListsearch(LHashTable HTn,int k)int d,temp;d=Hash(k);temp=d;while(HTd.key!=NIL)if(HTd.key=k)return d;elsed=(d+1)%n;if(d=temp)return -1;return -1;void HashListinsert(LHashTable HTn,int k)int d,temp;d=Hash(k);temp=d;while(HTd.key!=NIL&HTd.key!=DelNIL)d=(d+1)%n;if(d=temp)printf(哈希表无空间);exit(1);HTd.key=k;void HashListDelete(LHashTable HTn,int k)int d,temp;d=Hash(k);temp=d;while(HTd.key!=NIL)if(HTd.key=k)HTd.key=DelNIL;return;elsed=(d+1)%n;if(d=temp)break;printf(哈希表中无待删除元素%d,k);exit(1);void printHashList(LHashTable HTn)int i;for(i=0;in;i+)printf(%d ,i);printf(n);for(i=0;in;i+)printf(%d ,HTi);void main()int k;LHashTable HTn;HashListinit(HT);printf(请输入要插入到哈希表中的关键字,以0结束:n);scanf(%d,&k);while(k!=0)HashListinsert(HT,k);scanf(%d,&k);printf(所建立的哈希表长为20,哈希函数为H(key)=key%13n);printf(所建立的哈希表为:n);printHashList(HT);printf(n); printf(请输入要删除的关键字:n);scanf(%d,&k);HashListDelete(HT,k);printf(删除成功后的哈希表为:n);printHashList(HT);printf(n); 结果或分析:2 源程序或过程:#include#include#define NULL 0#define m 13#define n 20typedef struct nodetypeint key;struct nodetype*next;CHashTable;void HashListinit(CHashTable *HT)int i;for(i=0;in;i+)HTi=NULL;void HashListDelete(CHashTable *HT,int k);void HashListclesr(CHashTable *HT)CHashTable *p;int i;for(i=0;inext; HashListDelete(HT,p-key); p=HTi;int Hash(int k)return k%m;int HashListsearch(CHashTable *HT,int k)int d;CHashTable *p;d=Hash(k);p=HTd;while(p!=NULL)if(p-key=k)return 1;elsep=p-next;return 0;void HashListinsert(CHashTable *HT,int k)int d;CHashTable *p;d=Hash(k);p=(CHashTable*)malloc(sizeof(CHashTable);p-key=k;p-next=HTd;HTd=p;void HashListDelete(CHashTable *HT,int k)int d;CHashTable *p,*q;d=Hash(k);p=HTd;if(p=NULL)printf(哈希表中无%d,k);exit(1);if(p-key=k)HTd=p-next;free(p);return;elseq=p-next;while(q!=NULL)if(q-key=k)p-next=q-next;free(q);return;elsep=q;q=q-next;printf(哈希表中无%d,k);exit(1);printf(n);void printHashList(CHashTable *HT)int i;CHashTable *p;for(i=0;i,i);while(p)printf(%d-,p-key);p=p-next;printf(NULL);void main()int k;CHashTable *HT; HT=(CHashTable*)malloc(sizeof(CHashTable);HashListinit(HT); printf(请输入要插入到哈希表中的关键字,以0结束:n);scanf(%d,&k);while(k!=0)HashListinsert(HT,k);scanf(%d,&k);printf(所建立的哈希表长为20,哈希函数为H(key)=key%13n);printf(所建立的哈希表为:n);printHashList(HT);printf(n); printf(请输入要删除的关键字:n);scanf(%d,&k);HashListDelete(HT,k);printf(删除成功后的哈希表为:n);printHashList(HT);printf(n);结果或分析:请输入要插入到哈希表中的关键字,以0结束:19 14 23 1 68 20 84 27 55 11 10 79 0所建立的哈希表长为20,哈希函数为H(key)=key%13所建立的哈希表为:0-NULL1-79-27-1-14-NULL2-NULL3-55-68-NULL4-NULL5-NULL6-84-19-NULL7-20-NULL8-NULL9-NULL10-10-23-NULL11-11-NULL12-NULL13-NULL14-NULL15-NULL16-NULL17-NULL18-NULL19-NULL请输入要删除的关键字:27删除成功后的哈希表为:0-NULL1-79-1-14-NULL2-NULL3-55-68-NULL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 怎么写数学测试题及答案
- 2025年森林环境考试题目及答案
- 燃煤发电环保设施建设方案
- 高级绿化考试试题及答案
- 社会保险基金应收账款质押担保及区块链技术应用合同
- 金融行业员工岗位调整及劳动合同完善协议
- 环保项目环评咨询与实施合同
- 离婚协议书贷款还款及财产分割执行细则合同
- 企业环境管理体系建设与节能减排方案
- 物业让与担保及能源管理系统建设合同范本
- 锂电池公司管理制度
- GB/T 17948.7-2025旋转电机绝缘结构功能性评定总则
- 农光互补光伏发电项目发展趋势与前景分析
- 2025年中小学生科普知识竞赛题库及答案
- 新疆交投面试题目及答案
- 卫生院卒中哨点建设汇报
- 工会换届面试题目及答案
- 低压电工安全培训
- 数字信号处理理论与应用练习题集
- 2025-2030中国汽车减震器市场战略规划及竞争力策略分析研究报告
- 食其家面试试题及答案
评论
0/150
提交评论