如何根据 vector 的大小对 map 中的 vector 进行排序?
例子:
map<int, vector<int> >
根据 vector 的大小进行排序,以便稍后在较小的大小内删除一些元素。
1,2,3,4
2,5
6,7,8
排序和删除后...
1,2,3,4
6,7,8
5
我希望这能阐明预期的需求。
谢谢
最佳答案
映射是一个有序的容器,顺序谓词应用于其中的键。
例如你可以有一个std::map<int, std::vector<int>, std::less<int> >
这里你的键不是 vector ,因此你不能用你的 map 做你想做的事情。
这里也许你想要一个 std::map<std::vector<int>, int, some_struct>
其中 some_struct
是定义 vector 严格顺序关系的仿函数。
关于c++ - 对 map 中的 vector 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253916/