【发布时间】:2014-03-10 21:50:44
【问题描述】:
我有一张地图,其中包含不同的字符串以及它们出现的次数。我想找到第 N 个出现次数最多的键并按降序排列它们。有没有可以做到这一点的 STL 函数?如果不是,那么在地图容器中执行此操作的有效方法是什么?
数据结构:
map<string, unsigned int>
这是我的地图示例:
【问题讨论】:
-
你很幸运,地图中的所有键只出现一次。
-
@LuchianGrigore:嗯,该值表示密钥在我的应用程序中出现的次数。
-
std::partial_sort_copy 可能会有所帮助。
-
@LuchianGrigore 还有 STL multimap 允许重复键,但 map 只允许唯一键。
标签: c++ algorithm sorting map performance