【使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1)构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2)英文单词表在附件文】
在Kindle上阅读英文书籍,开启单词高亮功能学习新词汇。 #生活技巧# #数码产品使用技巧# #电子阅读窍门#
问题描述:
使用Hash表实现英文单词表并实现单词查询操作:
给定单词查询其英文翻译:
(1)构造用于存放英文单词表的散列表结构:定义Hash函数;使
用开散列法处理冲突;
(2)英文单词表在附件文本中,从文件读入,一行一条.每一行
前半部分为英文单词本身,后半部分为中文翻译,两部分之间用tab字
符隔开(’t’).注意英文单词中可能有空格;
提供用户单词查询操作:根据输入的英文单词,给出对应的中文翻译.
操作平台:VC6.0
英文单词表的txt文件格式如下:
Swimming游泳
swimmingpool游泳池
changingroom更衣室
shower淋浴
spaningplatform跳台
ten-meterplatform10米跳台
five-meterplatform5米跳台
three-meterspringboard3米跳板
one-meterspringboard1米跳板
spaningpool跳水池
non-swimmer'spool浅水池
swimmer'spool深水池
startingblock出发台
startingspane出发起跳
ropewithcorkfloats水线
swimminglane泳道
touchingthefinishingline终点触线
timekeeper计时员
lifesaver救生员
landdrill陆上练习
breaststroke蛙泳
crawlstroke爬泳
backstroke仰泳
sidestroke侧泳
butterflystroke蝶泳
dolphinbutterflystroke海豚式蝶泳
treadingwater踩水
underwaterswimming潜泳
swimmingpoolwithartificialwaves人工海浪泳池
artificialwaves人工海浪
swimmingtrunks泳裤
swimsuit泳衣
swimmingcap泳帽
bikini比基尼泳衣
bikinibottom比基尼式泳裤
surfing冲浪
surfboard冲浪板
waterski滑水橇
请帮忙写出完整的代码,这个对我来说实在太复杂了,所以只能找高人求教了.
蔡秀云回答:
#include #include #include #defineN100//散列表长度 structNode { char*key;char*val; Node*next; }*heads[N];//散列表,用链处理冲突 inthash(char*key)//散列函数 { unsignedlongh=0; while(*key) { h=(h24; h&=~g; } returnh&N; } Node*find(char*key)//查找 { Node*cur=heads[hash(key)]; while(cur) { if(!strcmp(cur->key,key)) returncur; cur=cur->next; } returnNULL; } voidinsert(char*key,char*val)//插入 { inti=hash(key); Node*head=heads[i]; if(find(key)==NULL) { Node*tmp=(Node*)malloc(sizeof(Node)); tmp->key=(char*)malloc(strlen(key)+1); tmp->val=(char*)malloc(strlen(val)+1); strcpy(tmp->key,key); strcpy(tmp->val,val); tmp->next=head; heads[i]=tmp; } } main() { chartmp[100],*key,*val; Node*cur; FILE*fp=fopen("abc.txt","r"); if(fp==NULL) { printf("打开文件有问题n"); exit(1); } while(fgets(tmp,100,fp)!=NULL) { if(tmp[strlen(tmp)-1]=='n') tmp[strlen(tmp)-1]=''; key=strtok(tmp,"t"); val=strtok(NULL,"t"); insert(key,val); } printf("输入你要查找的单词:n"); while(gets(tmp)) { cur=find(tmp); if(cur==NULL) printf("没找到n"); else printf("%sn",cur->val); } }
八字精批 八字合婚 八字起名 八字财运 2025运势 测终身运 姓名详批 结婚吉日
相关文章
【已知函数f(x)=x+4x+1,x>0−x−4x+1,x<0(1)判断函数f(x)的奇偶性;(2)试用函数单调性定义说明函数f(x)在区间(0,2]和[2,+∞)上的增减性;(3)若x1,x2满足:1≤|x1|≤4,1≤|x2|】
【生物的物种既能保持基本稳定,又能不断进化发展,是因为生物具有()A.生殖和发育的特性B.遗传和变异的特性C.生长现象D.由细胞构成的特性】
【对已经得到的感到满足,安于命运对自己的安排是词语,不过谢谢你们】
【哪种生物中具有叶绿体所有生物水绵。是怎么回事】
【英语达人进,英译中Pleasedofinishtheassessmentby2012/10/270:00--2012/10/2723:00.(BeijingTime).Pleasenotethatthelogindetailsgivenbelowwon'tbeactivateduntil2012/10/270:00.】
南阳刘子骥,高尚士也.刘子骥是谁?
【南阳刘子骥,高尚士也的句式】
【如图,将矩形纸片ABCD中折叠,使顶点B落在边AD的E点上折痕FG交BC于G,交AB于F,若∠AEF=20°,则∠FGB的度数为()A.25°B.30°C.35°D.40°】
形容对已得到的感到满足,安于命运对自己的安排.
下面的英文是什么意思拜托了各位谢谢
网址:【使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1)构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2)英文单词表在附件文】 https://www.yuejiaxmz.com/news/view/861810
相关内容
背英语单词词根词缀的重要性哈希表的应用和哈希冲突解决方案分析
英语单词归类方法有哪些?英语单词归类记忆方法是怎样的?
英语单词怎么记得快 高效背单词方法
打扫卫生的英文单词
生活必备用品英语单词 ,20个日常用品英语单词
生活娱乐的英文单词怎么写
打扫的英文单词
(完整)初中英语1600单词奇速记忆法(三)
英语单词!各种家务活的英语表达!