【发布时间】:2013-11-23 22:53:10
【问题描述】:
我正在学习使用 STL 的排序功能,方法是将它用于一些复杂的对向量。
我有以下向量:
vector< pair< int , pair< int , pair< string , pair< int , int > > > > >
我需要首先根据对中的第一个整数对元素进行排序,如果结果有 2 个元素具有相同的值,那么我需要根据内部存在的整数对它们进行排序对。
如果我将上述类型表示为:
vector< pair< I , pair< G , pair< S , pair< T , T > > > > >
首先我需要根据 I 对它们进行排序,然后根据 G 对其进行排序。仅使用比较器就可以有效地完成吗?
【问题讨论】:
-
您的排序代码是什么样的?你有代码要分享吗?
-
我厌倦了在其他答案中重复这一点。 std::pair implements 字典比较。您需要做的就是致电
std::sort,它会开箱即用。看看标准库的力量吧。