数据结构 C++ 简单英汉字典 实验报告.docx
- 文档编号:30588330
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:9
- 大小:82.02KB
数据结构 C++ 简单英汉字典 实验报告.docx
《数据结构 C++ 简单英汉字典 实验报告.docx》由会员分享,可在线阅读,更多相关《数据结构 C++ 简单英汉字典 实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
数据结构C++简单英汉字典实验报告
实验报告:
简单英汉字典
2011-12-22
实现目标及要求:
1)利用散列表实现英汉字典;
2)实现散列表类,要求实现一种散列表:
•散列函数选取建议:
将单词转成整数,再用除留余数法获得散列地址。
•冲突解决方法可采用开散列法。
3)实现字典类,字典数据存放在内存,字典类中有两个重要数据成员:
•字典数组:
存放字典数据的数组(或线性表)。
•散列表对象:
作为字典数据索引的散列表。
–散列表元素结构包含单词和对应字典数据在字典数组中的下标,可通过散列表直接获得单词在字典数组的下标。
4)利用上面两个类实现英汉字典。
5)界面要求:
键盘输入单词,屏幕输出解释:
–界面菜单项:
•1.添加新词
•2.删除单词
•3.查字典
–查字典界面:
•请输入英文单词:
China
•中文翻译:
中国
实验环境与工具:
使用MicrosoftVisualStudio2010在Windows764位环境下进行实验。
实验思路:
分如下N步:
1.先实现链结点类的结构。
2.实现字典类的结构。
3.实现词条类的结构。
4.实现词条的散列表分类方法。
5.整合功能。
主要的数据结构如下:
hinese!
=""){
dicSize++;
}
ink=NULL;
ht[i].EntryLink=Entry
}
}
template
voidDictionary
:
dicPos(Ee[]){
inti;
ChainNode*p;
for(i=0;i insert(e[i]); } } template boolDictionary : insert(Eent){ intk; 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=newChainNode; p2->EntryLink=ent; p2->link=NULL; p1->link=p2; return0; } template boolDictionary : insert(stringstr1,stringstr2){ Entry insert(*e); return1; } template voidDictionary : outputDic(){ inti; 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){ case1: cout< (); break; case2: cout< cout<<"请输入新词条的key,为英文: "; cin>>str1; cout< cout<<"请输入该词条的value,为中文: "; cin>>str2; cout< (str1,str2); cout<<"你输入的词条为: "< eLit=newEntry eLit->output(); break; case3: cout< cout<<"请输入要删去的词条的key,为英文: "; cin>>str1; if(str1)){ cout<<"删除成功! "< }else{ cout<<"删除失败,目标词条不存在……"< } break; case4: cout< cout<<"请输入要查询的词条的key,为英文: "; cin>>str1; (str1,str2); cout<<"你要查询的词条为: "< eLit=newEntry eLit->output(); break; case5: cout< system("cls"); break; default: break; } }while(deed! =6); cout< cout<<"程序结束,感谢使用! "< cout<<"****************************************************************************"< return0; } 实验结果: 1.基本数据: 源代码行数: 300 投入时间: 5小时 2.程序运行结果: 实验体会: 这个实验作为本学期的比较简单的C++实验,但要做好也是需要花心思的。 自评成绩: 分。 参考文献: 《C++面向对象程序设计》谭浩强 《数据结构与算法(C++版)》 XX百科等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 C+ 简单英汉字典 实验报告 简单 英汉字典 实验 报告