【发布时间】:2012-11-30 10:56:41
【问题描述】:
我正在尝试以相反的顺序打印 unordered_map 的内容,但是 它没有rbegin 或rend,所以你不能使用reverse_iterator。 unordered_map 的反转应该如何完成?
编辑(来自评论):我希望键按照插入的顺序排列,因此我不能使用 map。键似乎保持在插入顺序中,但我需要将它们颠倒过来。
【问题讨论】:
-
使用无序地图的全部意义在于它是无序的......也许
std::map会更合适。 -
我很好奇:你为什么要这么做?
-
@user1866033:但是无序映射中的键是不是的,它们被插入的顺序。它们按 任意 顺序排列。颠倒任意顺序会给您另一个同样任意的顺序,因此毫无意义。
-
如果您想要一个既能保持顺序又允许按键快速查找的集合,您必须使用Boost.MultiIndex。标准库没有。
-
@user1866033:除了保留顺序的插入之外,您要对其执行哪些操作?目前,
std::vector<pair<Key,Value>>和push_back符合您的需求。提供更多信息。
标签: c++ unordered-map