c++ - 如何排序 vector< pair< int , pair<int , pair<string , pair<int , int >>>>>?

标签 c++ sorting vector stl

我正在学习使用 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/

相关文章:

c++ - 删除可能保存在两个不同地方的数据

c++ - 你能解释一下在 C++ 中使用 std::hex 和 std::wios::hex 时输出的原因吗

c++ - 如何编写写入/var/log/myapp 目录的 C/C++ 应用程序?

c++ - 自定义排序算法c++

c++ - 在 C++ 中为 boost::numeric::ublas::vector 分配多个值

c++ - 无法使用 QML/C++ 中的绑定(bind)对象初始化 UI

java - java中随机数的冒泡排序

java - Java 中的合并排序未按预期工作。尝试在没有 while 循环的情况下做到这一点

c++ - 在 C++ 中将 push_back 用于 vector

arrays - 在 R 中向量化 S4 类