如何在对向量中找到元素的数量

时间:2014-08-19 18:17:37

标签: c++ stl

我有一个对的矢量如下

vector<pair<string, vector<string>> v;

我的数据集就像

'10', vector1
'10', vector2
'10', vector3
'20', vector4
'20', vector5

我希望输出为10 - 3的计数和20 - 2的计数。我可以知道如何使用对的向量执行计数算法。

我试过

std::count(v.begin(), v.end(), iterator->first)

但导致编译错误。

1 个答案:

答案 0 :(得分:6)

如何制作简单的直方图:

std::map<std::string, unsigned int> h;

for (auto const & x : v)
{
    ++h[x.first];
}

for (auto const & p : h)
{
    std::cout << p.first << " occurs " << p.second << " times.\n";
}