数据结构 C++ 简单英汉字典 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告:

简单英汉字典

2011-12-22实现目标及要求:

1)利用散列表实现英汉字典;

2) 实现散列表类,要求实现一种散列表:

•散列函数选取建议:将单词转成整数,再用除留余数法获得散列地址。

•冲突解决方法可采用开散列法。

3)实现字典类,字典数据存放在内存,字典类中有两个重要数据成员:•字典数组:存放字典数据的数组(或线性表)。

•散列表对象:作为字典数据索引的散列表。

–散列表元素结构包含单词和对应字典数据在字典数组中的下标,可通过散列表直接获得单词在字典数组的下标。

4)利用上面两个类实现英汉字典。

5)界面要求:键盘输入单词,屏幕输出解释:

–界面菜单项:

•1.添加新词

•2.删除单词

•3.查字典

–查字典界面:

•请输入英文单词:China

•中文翻译:中国

实验环境与工具:

使用Microsoft Visual Studio 2010 在Windows7 64位环境下进行实验。

实验思路:

分如下N步:

1.先实现链结点类的结构。

2.实现字典类的结构。

3.实现词条类的结构。

4.实现词条的散列表分类方法。

5.整合功能。

主要的数据结构如下:hinese!=""){

dicSize++;

}

ink=NULL;

ht[i].EntryLink=Entry();

}

}

template

void Dictionary::dicPos(E e[]){ int i;

ChainNode *p;

for(i=0;i

insert(e[i]);

}

}

template

bool Dictionary::insert(E ent){ int k;

ChainNode *p1,*p2;

tableSize=5;

k=()%tableSize;

p1=&ht[k];

if(p1->link!=NULL){

p1=p1->link;

while(p1->link!=NULL){

p1=p1->link;

}

}

p2=new ChainNode;

p2->EntryLink=ent;

p2->link=NULL;

p1->link=p2;

return 0;

}

template

bool Dictionary::insert(string str1,string str2){ Entry *e=new Entry (str1,str2);

insert(*e);

return 1;

}

template

void Dictionary::outputDic(){

int i;

ChainNode *p1;

for(i=0;i

ink!=NULL){

p1=&ht[i];

while(p1->link!=NULL){

p1=p1->link;

p1->();

}

}

}

看已有的字典词条。"<

cout<<"2.添加新的词条到字典。"<

cout<<"3.删除已有词条。"<

cout<<"4.查字典。"<

cout<<"5.清屏。"<

cout<<"6.退出程序。"<

cout<<"******************************************************************** ********"<

cout<<"请选择你要进行的操作:";

cin>>deed;

cout<<"你选择的操作是:"<

switch(deed){

case 1:

cout<

();

break;

case 2:

cout<

cout<<"请输入新词条的key,为英文:";

cin>>str1;

cout<

cout<<"请输入该词条的value,为中文:";

cin>>str2;

cout<

(str1,str2);

cout<<"你输入的词条为:"<

eLit=new Entry (str1,str2);

eLit->output();

break;

case 3:

cout<

cout<<"请输入要删去的词条的key,为英文:";

cin>>str1;

if(str1)){

cout<<"删除成功!"<

}else{

cout<<"删除失败,目标词条不存在……"<

}

break;

case 4:

cout<

cout<<"请输入要查询的词条的key,为英文:";

cin>>str1;

相关文档
最新文档