Lal*_*and 19
为了将信息从std :: map转储到std :: vector中,你可以使用带有两个迭代器的std :: vector的构造函数.
std::vector<std::pair<K,V> > myVec(myMap.begin(), myMap.end());
Run Code Online (Sandbox Code Playgroud)
然后,您将使用以下方式对其进
std::sort(myVec.begin(),myVec.end(),&myFunction);
Run Code Online (Sandbox Code Playgroud)
myFunction 将是一个使用签名定义的函数:
bool myFunction(std::pair<K,V> first, std::pair<K,V> second);
Run Code Online (Sandbox Code Playgroud)
如果它们的顺序正确(即首先应该在第二个之前),它会返回true.当它们处于错误的顺序时返回false(即第二个应该在第一个之前).
另外,你可能想看一下boost :: bimap,这似乎更适合你的问题.
| 归档时间: |
|
| 查看次数: |
12351 次 |
| 最近记录: |