我有一个对的矢量如下
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)
但导致编译错误。
答案 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";
}