[英]c++, stl, map how sort with value, not key
为了将信息从std :: map转储到std :: vector中,你可以使用带有两个迭代器的std :: vector的构造函数。
std::vector<std::pair<K,V> > myVec(myMap.begin(), myMap.end());
然后,您将使用以下方式对其进
std::sort(myVec.begin(),myVec.end(),&myFunction);
myFunction
将是一个使用签名定义的函数:
bool myFunction(std::pair<K,V> first, std::pair<K,V> second);
如果它们的顺序正确(即首先应该在第二个之前),它会返回true。 当它们处于错误的顺序时返回false(即第二个应该在第一个之前)。
另外,你可能想看一下boost :: bimap ,这似乎更适合你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.