如何计算文本文件中的重复行

时间:2014-10-30 01:37:36

标签: c++

因此,如果我有一个重复行的大文本文件,我如何确定最频繁重复的行?

    Example
    The dog is brown
    The cat is orange
    The dog is brown

这应该为The Dog is brown

返回2

1 个答案:

答案 0 :(得分:2)

由于这似乎是一项学习练习,您可以采取以下方法:

  • 制作一个关联容器,比如,map<string,int>unordered_map<string,int>以保持计数
  • 逐行阅读文件。对于每个行,您将增加关联容器中的计数
  • 读完文件后,走容器,找到最高计数,并存储其关联的密钥
  • 完成循环后,您找到的密钥及其关联计数可以解决您的问题。

理解这种方法的一种方法是考虑相同的问题,但将字符串替换为数字。现在,您只需要为列表中的每个count[number]++编写一个循环number。上面描述的方法基本上是相同的,但你使用字符串而不是索引的数字。