我正在学习使用 STL 的排序函数,方法是将它用于一些复杂的对 vector 。
我有以下 vector :
vector< pair< int , pair< int , pair< string , pair< int , int > > > > >
我需要先根据对中的第一个整数对元素进行排序,如果发现有 2 个元素具有相同的值,那么我需要根据内部存在的整数对它们进行排序对。
如果我将上述类型表示为:
vector< pair< I , pair< G , pair< S , pair< T , T > > > > >
首先我需要根据 I 对它们进行排序,然后根据 G 对它们进行排序。仅使用比较器是否可以有效地完成此操作?
最佳答案
调用std::sort(RandomIt first, RandomIt last)
将合适的比较函数作为 comp
传递。 default comparison function将按照您希望的顺序比较元素。
关于c++ - 如何排序 vector< pair< int , pair<int , pair<string , pair<int , int >>>>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20168931/