在不使用std :: map的情况下计算短语中的单词时出现问题

时间:2011-03-09 15:16:22

标签: c++

我希望从某些短语中看到单词的出现次数。 我的问题是我无法使用map来执行此操作:

map[word] = appearnce++;

相反,我有一个使用二叉树的类,行为像地图,但我只有方法:

void insert(string, int);

有没有办法使用这个函数来计算单词apperances?(因为我找不到为每个不同的单词增加int的方法)或者我是否必须为类重载operator []?我该怎么办?

3 个答案:

答案 0 :(得分:2)

据推测,您还可以从类似地图的结构中检索数据(除非您还可以检索数据,否则存储数据没有什么用处)。显而易见的方法是检索当前值,增加它并存储结果(如果检索显示该值以前不存在,则存储1)。

答案 1 :(得分:1)

我想这是家庭作业,你正在学习二叉树。在这种情况下,我将实现operator []以返回对现有值的引用(如果不存在值,则默认构造一个值,插入它,然后返回。显然,operator []的实现与insert方法非常相似。

答案 2 :(得分:1)

你可以编辑“插入”功能吗? 如果可以的话,你可以添加静态变量来计算函数内的出现次数