首页 > 解决方案 > 计算已排序文本文件 C++ 中的重复次数

问题描述

我有一个看起来像这样的文件:

a
a
a b b c d d d
_





我正在使用 fstream 和 sstream 来读取它,我想要实现的是通过它来计算单个元素重复的次数,所以我可以将一个节点添加到 BST 中,并以重复计数作为其键。

我希望实现这样的目标:

myBST.insert("a", 4);
myBST.insert("b", 2);
myBST.insert("c", 1);
myBST.insert("d", 3);

我尝试使用新的 sstream 创建一个 while 循环,主循环在其中找到一个元素,计算新 sstream 读取的值与原始 sstream 相同的次数,但它似乎不起作用:

    if (!datos.is_open())
    {
        cout << "failed to open";
    }

    string line;
    
    while (getline(datos, line))
    {
        stringstream ss(line);

        int count = 0;

        string line2 = line;
        stringstream ss2(line2);
        while (line2 == line)
        {
            stringstream ss2(line2);
            count++;
        }       
        
    }
    return 0;

任何帮助表示赞赏:)

标签: c++while-loopbinary-search-treeifstreamsstream

解决方案


推荐阅读