使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1) 构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2) 英文单词表在附件文

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 21:45:19
使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1) 构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2) 英文单词表在附件文

使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1) 构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2) 英文单词表在附件文
使用Hash表实现英文单词表并实现单词查询操作:
给定单词查询其英文翻译:
(1) 构造用于存放英文单词表的散列表结构:定义Hash函数;使
用开散列法处理冲突;
(2) 英文单词表在附件文本中,从文件读入,一行一条.每一行
前半部分为英文单词本身,后半部分为中文翻译,两部分之间用tab字
符隔开(’\t’).注意英文单词中可能有空格;
提供用户单词查询操作:根据输入的英文单词,给出对应的中文翻译.
操作平台:VC6.0
英文单词表的txt文件格式如下:
Swimming 游泳
swimming pool 游泳池
changing room 更衣室
shower 淋浴
spaning platform 跳台
ten-meter platform 10米跳台
five-meter platform 5米跳台
three-meter springboard 3米跳板
one-meter springboard 1米跳板
spaning pool 跳水池
non-swimmer's pool 浅水池
swimmer's pool 深水池
starting block 出发台
starting spane 出发起跳
rope with cork floats 水线
swimming lane 泳道
touching the finishing line 终点触线
timekeeper 计时员
lifesaver 救生员
land drill 陆上练习
breaststroke 蛙泳
crawl stroke 爬泳
back stroke 仰泳
side stroke 侧泳
butterfly stroke 蝶泳
dolphin butterfly stroke 海豚式蝶泳
treading water 踩水
underwater swimming 潜泳
swimming pool with artificial waves 人工海浪泳池
artificial waves 人工海浪
swimming trunks 泳裤
swimsuit 泳衣
swimming cap 泳帽
bikini 比基尼泳衣
bikini bottom 比基尼式泳裤
surfing 冲浪
surfboard 冲浪板
water ski 滑水橇
请帮忙写出完整的代码,这个对我来说实在太复杂了,所以只能找高人求教了.

使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1) 构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2) 英文单词表在附件文
#include
#include
#include
#define N 100//散列表长度
struct Node
{
char* key; char* val;
Node* next;
}*heads[N];//散列表,用链处理冲突
int hash(char* key)//散列函数
{
unsigned long h=0;
while(*key)
{
h=(h24;
h&=~g;
}
return h&N;
}
Node* find(char* key)//查找
{
Node* cur=heads[hash(key)];
while(cur)
{
if(!strcmp(cur->key,key))
return cur;
cur=cur->next;
}
return NULL;
}
void insert(char* key,char* val)//插入
{
int i=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()
{
char tmp[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]='\0';
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("%s\n",cur->val);
}
}

使用Hash表实现英文单词表并实现单词查询操作:给定单词查询其英文翻译:(1) 构造用于存放英文单词表的散列表结构:定义Hash函数;使用开散列法处理冲突;(2) 英文单词表在附件文 三道模拟电路题目运放实验内容(2)使用加法器,实现将500mVpp信号放大10倍,并在输出端叠加固定2.5V直流电压单电源供电运放实现(单运放实现)单电源供电,对比使用NE5532和MC33202时的输出波形 单词表的英文是什么? 实现梦想 的 英文 实现英文怎么写 英语翻译1、熟悉企业设备管理流程,参与编写并建立了公司的设备管理相关制度.2、熟练使用excel、autocad等办公软件,并使用设备管理软件建立公司维修流程,实现维修工单无纸化,设备台帐、设 使用C语言编写一个为英文文章每个单词标序号并输出结果的程序.求一个C语言编写的程序,可实现我所说的功能:可以将一篇英文文章(以.txt格式存在)中的所有单词(不包括标点符号)顺 求VC++里散列函数(hash)的实现只要可以达到散列函数的要求即可即对于读入的一个数据段可以产生定长的散列值.MD5太过于复杂,希望找到简单的hash函数,因为只是做演示使用 使用搜索引擎查单词 五年级u7单词表单词 初一下英语单词表(7)初一下英语单词表第七单元的单词有吗要有中文和英文,我有急用人教版 如何创造并实现人生价值 行动实现梦想的英文 实现理想(梦想)的英文 小学六年级上册英语单词表有哪些单词?新标准的,供三年级起使用的包括中文 三年级英语下册单词表有什么单词?三年级英语下册单词表有什么单词, “查单词”英文怎么说? 查单词 英文怎么说