一、想法来源:(源于百度之星程序设计大赛)
题目描述:请编写程序,根据指定的对应关系,把一个文本中的字符串替换成另外的字符串。
输入数据:程序读入已被命名为text.txt和dict.txt的两个输入数据文本文件,text.txt为一个包含大量字符串(含中文)的文 本,以whitespace为分隔符;dict.txt为表示字符串(s1)与字符串(s2)的对应关系的另一个文本(含中文),大约在1万行左右,每行 两个字符串(即s1和s2),用一个\t或空格分隔。dict.txt中各行的s1没有排序,并有可能有重复,这时以最后出现的那次s1所对应的s2为 准。text.txt和dict.txt中的每个字符串都可能包含除whitespace之外的任何字符。text.txt中的字符串必须和 dict.txt中的某s1完全匹配才能被替换。(为便于调试,您可下载测试text.txt和dict.txt文件,实际运行时我们会使用不同内容的输 入文件。)
二、 主要功能:
1、翻译文档;
2、添加单词;
3、查找单词;
4、修改词典
三、思路:使用C++容器,map。Map是一类平衡二叉树,是一种关联容器。在插入、删除等具有较小的时间复杂度。
四、Map的用法
1、包含的头文件:
#include<map>
2、
创建map容器:
map<string,string> ditcmap; /*表示创建一个map类的容器,名称为dictmap。同时两个string表示的是一个对象所包含的两个属性是string类型。若是定义的类型为map<int,int>dictmap;则是表示为两个属性是int类型。*/
3、