数据结构 哈希表.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:2 大小:24KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构 哈希表.doc

数据结构哈希表.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include"stdio.h"#include"math.h"typedefstruct{intkey;intm;}Hashtable;Hashtablehash[45];searchhash(intp,Hashtablehash[]){intd=0,f;do{f=(p+d)%45;if(hash[f].key==0){printf("找的姓名不存在\n");return0;}d++;}while(hash[f].key!=p&&d==45);while(hash[f].key!=0)if(d!=45){printf("所要找的姓名的%d存的哈希地址是%d\n",p,f);return1;}else{printf("所要找的姓名在哈希表中不存在\n");return0;}}voidmain(){charname[20];intnumber[3];inti,j,d=0,x=0,f,k,p=0,q=0;for(i=0;i<45;i++){hash[i].key=0;hash[i].m=0;}for(i=0;i<3;i++){printf("请输入所有姓名信息\n");scanf("%s",name);for(j=0;name[j]!='\0'&&j<20;++j){printf("%c",name[j]);x=x+(int)name[j];printf("%d",x);}number[i]=x;x=0;}for(i=0;i<3;i++){do{f=(number[i]+d)%45;p++;hash[f].m=p;d++;}while(hash[f].key!=0);hash[f].key=number[i];d=0;}printf("请输入将要查找的姓名信息\n");scanf("%s",name);for(j=0;name[j]!='\0'&&i<20;j++)x=x+(int)name[j];searchhash(x,hash);}