【发布时间】:2014-04-30 18:16:37
【问题描述】:
我如何使用具有降序键值的 std::map 容器。
例如,如果插入以下项目:
[2 , 5]
[1 , 34]
[3 , 67]
它们将在地图中按如下顺序排列:
position 0: [1, 34]
position 1: [2, 5]
position 2: [3, 67]
我可以反向遍历地图,但假设下次我插入 [-1 , 60]。会放在第一位吗?
【问题讨论】:
-
指定对象的去向有点违背地图的目的。如果这是您想要的功能,您不妨使用数组。
-
想一想,地图只是对你的项目进行哈希处理并将它们扔到一个“随机”位置,这样你就可以在 O(1) 时间内再次访问它们,而不必担心它们的位置。如果可以将它们存储在特定位置,则可以将它们二进制搜索到数组中,或者对元素进行排序并逐个插入。
-
@AlejandroLucena 不,那是
std::unordered_map。通常的std::map类已排序。