map<string, int> Hosts;
其中包含主机以及访问主机的次数。
如何获取该地图的前X值?
答案 0 :(得分:1)
我认为如果您使用std::vector<std::pair<std::string, int>
并使用std::sort
提供自己的compare
函数(或仿函数),则可以更轻松地解决此问题。您还可以使用std::map
按键排序元素。我认为您不需要按键(string
)排序的容器,而是按值(int
)排序。
std::vector
,因此您也将其用作:
std::vector<std::pair<std::string, int> Hosts; //Use this instead of map!
答案 1 :(得分:0)
请参阅评论以获取答案。 Sorting a std::map by value before output & destroy
经过一些修改(将for更改为仅转到map.size()),它完美无缺。人们可以投票删除吗?