【发布时间】:2017-01-02 17:01:16
【问题描述】:
我有一张地图,我想将其转换为矢量。但我也想翻转键和值;并根据新键对它们进行排序。但是,它必须尽可能快,而其中包含大约 300.000 个元素。
为了更好的解释:
地图:
a->5
b->3
c->4
d->2
e->6
f->1
向量应该是这样的->[f,d,b,c,a,e]
一个循环可以吗?
【问题讨论】:
-
性能最快还是编码时间最快?
-
取决于您对“一个循环”的解释。无论如何:您的键和值都是整数,对吧?因为你显示的 a b c 有点令人困惑。
-
不,实际上值是包含 3 个浮点值的点
-
搜索
c++ map sort by value,关于这个话题有几个问答。 -
您想如何处理原始地图中的重复整数值,或者它们是否保证唯一? (在您的示例中,它们成为向量的索引。)
标签: c++ dictionary vector