我们都用过sort()函数,对于一个vector vec;我们可以很轻松的写出:

//sort()函数默认使用升序排列
sort(vec.begin(),vec.end());

但是当我们碰到vector<vector>时,对于这样的二维数组我们想要按其某一列的元素的大小进行排列应该怎么解决呢?
这个时候就可以重写sort()函数的第三个参数了,具体实现如下:

#include<iostream>
#include<vector>
#include<algorithm>using namespace std;class comp
{public:bool operator()(vector<int> a, vector<int> b){return a[1] < b[1];}
};int main()
{vector<vector<int>> vec{ {100,200},{200,1300},{1000,1250},{2000,3200} };sort(vec.begin(), vec.end(), comp());for (const auto& p : vec){cout << p[0] << "," << p[1] << endl;}
}

还有一种在sort内定义的方法:

#include<iostream>
#include<vector>
#include<algorithm>using namespace std;int main()
{vector<vector<int>> vec{ {100,200},{200,1300},{1000,1250},{2000,3200} };sort(vec.begin(), vec.end(), [](const auto& a, const auto& b){return a[1] < b[1];});for (const auto& p : vec){cout << p[0] << "," << p[1] << endl;}
}

C++对高维vector数组排序 sort()函数第三个参数自定义相关推荐

  1. http://www.dewen.net.cn/q/16222/C++排序中的sort函数第三个参数的疑问

    C++排序中的sort函数第三个参数的疑问 唐图 3 票 37 #include<stdio.h> #include<string.h> #include<algorit ...

  2. 自定义sort函数第三个参数的规则

    先贴错误代码: #include<iostream> #include<cstdio> #include<cstring> #include<string&g ...

  3. sort函数用法使用lambda表达式自定义sort排序方法

    1 sort函数包含在头文件为#include<algorithm>的c++标准库中. 2 sort函数有三个参数,排序起始地址,结束地址, 排序方法(默认参数,可以不写,默认是从小到大) ...

  4. seaborn使用boxplot函数进行箱图可视化(使用色彩调色板自定义设置箱图的颜色、在boxplot函数内设置palette参数自定义调色板)

    seaborn使用boxplot函数进行箱图可视化(使用色彩调色板自定义设置箱图的颜色.在boxplot函数内设置palette参数自定义调色板) 目录

  5. c语言sort可以给字符排序吗,字符串排序 (C++代码)sort的第三个参数

    解题思路: 利用sort的第三个参数,自定义一个排序序列方法,这里有一个注意事项. 使用cin进行输入的时候,会产生留下一个换行符在控制台之中(我们看不见的),然而我们使用c++的getline进行输 ...

  6. range函数python三个参数_range()函数三种参数的用法

    第8篇分享 range()是python的内置函数,用的地方挺多的,目前我经常会在for循环中作为循环的次数来使用,其实range()的用法不仅仅如此,本文给大家介绍下range()函数的三种参数的基 ...

  7. R语言ggcharts包的dumbbell_chart函数可视化哑铃图(对比两个年份数据的差异)、scale_y_continuous函数中的labels参数自定义设置X轴坐标标签的格式

    R语言ggplot2可视化:使用ggcharts包的dumbbell_chart函数可视化哑铃图(对比两个年份数据的差异).使用scale_y_continuous函数中的labels参数自定义设置X ...

  8. Vue-render函数的三个参数

    render函数的第一个参数 第一个参数必选. 可选类型 string:html标签 object:一个含有数据选项的对象 function:返回一个含有数据选项的对象 Vue.component(' ...

  9. 【浅谈】main函数的三个参数

    [浅谈]main函数的参数 我们平时使用main函数时,在main函数参数这一栏常常省略不写,或者填上(void).实际上main函数是具有参数的,并且它的参数有很大作用.今天我们来看看main函数的 ...

最新文章

  1. MXNet中依赖库介绍及简单使用
  2. 送外卖最强的男人!!
  3. MySQL查看、创建和删除索引的方法
  4. idea使用ant将wsdl文件_文件曝光:奔驰GLC将使用E级同款1.5T发动机
  5. java入门应该学什么_初学Java应该掌握哪些基础知识?
  6. 计算机应用能力考试ppt,计算机应用能力考试题库
  7. java语言特点 字符串不变_面试必问:Java中String类型为什么设计成不可变的?
  8. 较真的来了!这篇【硬核论文】为何恺明新作MAE提供了一种理论解释和数学证明...
  9. LFM回波信号仿真,加汉明窗,可用的matlab代码
  10. android vlc m3u8,Exoplayer播放m3u8文件Android
  11. 2010.4 计算机二级等级考试 vb上机试题 第一套 的答案,2012年计算机二级VB上机试题及解题思路第44套...
  12. 服务器内存UDIMM与RDIMM区别
  13. 选择时间检定仪应该注意这11点
  14. OTN告警测试1:LOS
  15. 终于解决qq浏览器里面播放video会带自己广告的问题了
  16. zblogphp登录和注册_基于PHP的登录和注册的功能的实现
  17. i3 7100黑苹果_黑苹果系统是否好用?
  18. 电商双11美妆数据分析
  19. C++项目实践(银行管理系统)
  20. c语言驱动程序开发基础教程,C 语言入门介绍

热门文章

  1. appcrash php5ts.dll,appcrash
  2. python Matplotlib 系列教程(五)——绘制叠堆图
  3. [每日一题]152:仅仅反转字母
  4. Chapter 1. OpenGL基础回顾 - Review of OpenGL Basics
  5. 毕业设计-基于微信小程序的图书馆座位预约系统
  6. 手把手教你使用LabVIEW OpenCV DNN实现手写数字识别(含源码)
  7. 5g有线工业级路由器 有线无线自由切换
  8. 搭建个人移动图书馆——Calibre-web
  9. 计算机英语i有关科技翻译的范文,有关健康的英语作文带翻译范文
  10. 【动手学MVG】张正友标定法原理与实现