利用STL库的sort() 对vector<vector<int>>排序

  1. 对于一维向量vector<int>排序直接调用sort()即可实现排序。
vector<int> a{1,0,3,2};
sort(a.begin(),a.end()); //默认从小到大排序
// 0,1,2,3
sort(a.begin(),a.end(), greater<int>()); //从大到小排序
// 3,2,1,0
  1. 对于二维向量vector<vector<int>> clips,
clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]] # 初始值

默认的排序结果是第一维从大到小,在第一维相同时第二维从大到小排列。

sort(clips.begin(),clips.end());
for(int i=0;i<clips.size();i++){cout<<'['<<clips[i][0]<<','<<clips[i][1]<<']'<<',';
}
cout<<endl;
// [0,2],[1,5],[1,9],[4,6],[5,9],[8,10],

也可以自定义排序规则,下面示例, 第一维从小到大,第一维相同时,第二维从大到小。

static bool cmp(const vector<int>& v1, const vector<int>& v2){if (v1[0] == v2[0]) return v1[1]>v2[1];return v1[0] < v2[0];
}
sort(clips.begin(), clips.end(), cmp);
for(int i=0;i<clips.size();i++){cout<<'['<<clips[i][0]<<','<<clips[i][1]<<']'<<',';
}
cout<<endl;// [0,2],[1,9],[1,5],[4,6],[5,9],[8,10],

注意:static 不可以省略。

[c++] vector<vector<int>>排序相关推荐

  1. 对vector<int> 的数组使用sort排序出错

    刷题时,对于多个vector数组按照第二个元素的大小进行排序,其实很简单. 力扣1710. Maximum Units on a Truck 但是一开始代码写的是 class Solution {pu ...

  2. C++vector进行局部排序

    C++vector进行局部排序 话不多说了,直接上代码 #include<stdio.h>#include<iostream>#include<vector>#in ...

  3. C++初始化vector<vector<int>>

    假设dps是一个m×n维的vector,则初始化dps为全零的方法为: vector<vector<int>> dps(m, vector<int>(n,0));

  4. vector<int> v, vector<int> v(n) 与vector<int> v[n]的区别

    一.vector<int> v表示声明一个容器v,并且不给他预定存储空间. 运行: vector<int> v;cout << v.size(); 输出为: 0 二 ...

  5. C++中vector<int> nums和vector<int> nums的区别

    先看一段代码: vector<vector<int>> allrot(const vector<int>& a) { vector<vector< ...

  6. C++之vector<int> nums

    vector<int>& nums是什么意思? int &nums:一个整型变量的引用 vector<int> nums:nums是一个容器变量,容器名称为ve ...

  7. 力扣报错:runtime error: reference binding to null pointer of type ‘std::vector<int

    出错原因: 有for循环或者while时,没有考虑数组为空的情况,且将判断数组为空条件写在比较靠下的位置了,比如下面时错误的: 参考文章: https://blog.csdn.net/qq_36421 ...

  8. vector 的自定义排序方法

    #include<iostream> #include<algorithm> #include<vector> using namespace std;bool c ...

  9. vector 结构体排序_指下码上横戈行——排序

    常见的排序算法有冒泡排序,选择排序,堆排序,快速排序这几种,但十三写博客的目的是为了提高自己的编程解题能力,故在这里介绍如何能快速解决那些涉及到排序的编程问题,首先针对这些问题C++ STL库中已经有 ...

最新文章

  1. 看我如何下载韩寒博客文章笔记
  2. VC编写自己构造http协议数据的post上传图片类(MFC环境 带编码转换)(转)
  3. Silverlight RIA Servcie 删除子对象实体提交错误的问题[解决]
  4. Docker相关的项目
  5. 自建Git服务器系列——Gitea(Gogs的孪生兄弟)
  6. git命令——git commit
  7. ajax请求几个状态,ajax的请求步骤!每个状态值表示什么?
  8. vs2010最佳配色选择_2010年代35部最佳电影
  9. oracle xdb xquery,XML DB与XDB是同一个东西吗?
  10. 计算机的组装怎么学,如何学习组装电脑
  11. Oracle 历史数据表迁移方案
  12. 总有云开日出时候, 万丈阳光照耀你我
  13. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数
  14. 从基础综述、论文笔记到工程经验、训练技巧:值得一看的目标检测好文推荐...
  15. 密码破解神器海德拉GUI界面-xhydra
  16. EPICS简单实例2 -- subroutine记录(sub)介绍与使用
  17. EFR32BG22 Thunderboard Kit 学习笔记总结
  18. 继承----有关虚函数和虚拟继承
  19. 【强烈推荐】十三个鲜为人知的大数据学习网站
  20. 五、jQuery 对表单、表格的操作(走过路过瞅瞅吧)

热门文章

  1. 图片视角转换 cv2.warpPerspective
  2. 如何制作一颗CPU? 从石子到管脚绑定
  3. 国赛无望,兄弟尽力了
  4. 新制造 新工科 新机制——李泽湘教授在工程教育高峰论坛上的报告
  5. 此文一出,从此无需再熬夜等待
  6. python方法测试_python 测试常用小方法
  7. pam mysql编译安装_pam_mysql编译过程排错
  8. 计算机的网络通信软件的作用,网络协议软件的作用是什么
  9. android studio visual studio 2015,Visual Studio Emulator for Android
  10. 【 C 】高级字符串查找之 strspn 和 strcspn 的思考