sort函数对vector一维或者二维数组排序

目录

sort对一维数组排序

1、sort对一位数组升序排序

2、sort对一维数组降序排序

sort对二维数组排序

1、sort默认对横坐标进行升序排序,如下:

2、使用自定义排序对纵坐标进行升序排序:

额外知识:

对横坐标进行降序排列,当横坐标相同时,对纵坐标进行升序排序


sort对一维数组排序

1、sort对一位数组升序排序

sort函数默认对横坐标进行升序排序,如下:

#include <bits/stdc++.h>
using namespace std;
int main(){
	vector<int> arrs={5,7,9,1,6,4,5};
	sort(arrs.begin(),arrs.end());
	for(int i=0;i<arrs.size();i++){
		cout<<arrs[i]<<" ";
	}
	return 0;
}

结果:

 

2、sort对一维数组降序排序

使用greater()函数对一维数组进行降序排列:

#include <bits/stdc++.h>
using namespace std;
int main(){
	vector<int> arrs={5,7,9,1,6,4,5};
	sort(arrs.begin(),arrs.end(),greater());
	for(unsigned int i=0;i<arrs.size();i++){
		cout<<arrs[i]<<" ";
	}
	return 0;
}

结果:

 

sort对二维数组排序

1、sort默认对横坐标进行升序排序,如下:
#include <bits/stdc++.h>
using namespace std;
int main(){
	 vector<vector<int>> arr = {{3, 2}, {1, 4}, {7, 6},{1,3}};
//	对二维数组按照横坐标进行升序排列
	sort(arr.begin(),arr.end());
	for(auto& re:arr){
		cout<<"["<<re[0]<<" "<<re[1]<<"]"<<endl;
	}
	return 0;
}

结果:

2、使用自定义排序对纵坐标进行升序排序:
#include <bits/stdc++.h>
using namespace std;
int main(){
	 vector<vector<int>> arr = {{3, 2}, {1, 4}, {7, 6},{1,3}};
//	对二维数组按照纵坐标进行升序排列
	sort(arr.begin(),arr.end(),[](const vector<int> a,const vector<int> b){
		return a[1]<b[1];
	});
	for(auto& re:arr){
		cout<<"["<<re[0]<<" "<<re[1]<<"]"<<endl;
	}
	return 0;
}

结果:

同理,如果要对横坐标进行升序排序,修改自定义排序规则就行,如下:

额外知识:
对横坐标进行降序排列,当横坐标相同时,对纵坐标进行升序排序
#include <bits/stdc++.h>
using namespace std;
int main(){
	 vector<vector<int>> arr = {{3, 2}, {1, 4}, {7, 6},{1,3}};
//	对横坐标进行降序排列,当横坐标相同时,对纵坐标进行升序排序
	sort(arr.begin(),arr.end(),[](const vector<int> a,const vector<int> b){
		return a[0]==b[0]?a[1]<b[1]:a[0]>b[0];
	});
	for(auto& re:arr){
		cout<<"["<<re[0]<<" "<<re[1]<<"]"<<endl;
	}
	return 0;
}

结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/501692.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【全栈小5】我的创作纪念日

目录 前言机缘收获粉丝和原创个人成就六边形战士 回顾文章原代码代码优化 憧憬 前言 全栈小5 &#xff0c;有幸再次遇见你&#xff1a; 还记得 2019 年 03 月 29 日吗&#xff1f; 你撰写了第 1 篇技术博客&#xff1a; 《前端 - 仿动态效果 - 展开信息图标》 在这平凡的一天&…

CSS(三)---【盒子模型、边框、外边距合并】

零.前言 本篇主要介绍CSS中最重要的一种概念模型&#xff1a;“盒子模型”。 关于CSS的更多内容&#xff0c;可以查看作者之前的文章&#xff1a; CSS(一)---【CSS简介、导入方式、八种选择器、优先级】-CSDN博客 CSS(二)---【常见属性、复合属性使用】-CSDN博客 一.盒子模…

基于AI网关的光伏电站在线监测方案

光伏电站作为利用太阳能的重要方式&#xff0c;凭借其环保、高效和可持续性的优势&#xff0c;在全球范围内得到广泛应用。然而&#xff0c;光伏电站的运营和维护也面临着诸多难点和痛点。在这一背景下&#xff0c;AI智能网关的应用为光伏电站的运营和维护带来了新的突破。 光伏…

天梯算法Day3整理

浮点数解析 炸鱼题掠过 冲突值 题面 解析 方法一 —— 并查集 按照边值排序&#xff0c;然后按边值从大到小遍历&#xff0c;通过并查集判断能否将所有点无冲突地归于两个集合。在判断时&#xff0c;若有两个点不得不产生冲突&#xff0c;则输出这两个点之间的边值并结束。…

linux 网卡配置 vlan/bond/bridge/macvlan/ipvlan/macvtap 模式

linux 网卡模式 linux网卡支持非vlan模式、vlan模式、bond模式、bridge模式&#xff0c;macvlan模式、ipvlan模式等&#xff0c;下面介绍交换机端及服务器端配置示例。 前置要求&#xff1a; 准备一台物理交换机&#xff0c;以 H3C S5130 三层交换机为例准备一台物理服务器&…

变分信息瓶颈

变分信息瓶颈和互信息的定义 1 变分信息瓶颈 定义&#xff1a;变分信息瓶颈&#xff08;Variational Information Bottleneck&#xff09;是一种用于学习数据表示的方法&#xff0c;它旨在通过最小化输入和表示之间的互信息来实现数据的压缩和表示学习。这种方法通常用于无监…

OpenHarmony:全流程讲解如何编写ADC平台驱动以及应用程序

ADC&#xff08;Analog to Digital Converter&#xff09;&#xff0c;即模拟-数字转换器&#xff0c;可将模拟信号转换成对应的数字信号&#xff0c;便于存储与计算等操作。除电源线和地线之外&#xff0c;ADC只需要1根线与被测量的设备进行连接。 一、案例简介 该程序是基于…

Java基础语法(三)| 循环语句

前言 Hello&#xff0c;大家好&#xff01;很开心与你们在这里相遇&#xff0c;我是一个喜欢文字、喜欢有趣的灵魂、喜欢探索一切有趣事物的女孩&#xff0c;想与你们共同学习、探索关于IT的相关知识&#xff0c;希望我们可以一路陪伴~ 1. if语句 1.1 格式一 if (关系表达式) …

探讨企业邮箱安全问题:必须关注的四个关键要点

近年来&#xff0c;虽然出现了微信、企微等沟通方式&#xff0c;但电子邮件无疑仍然是公司对内对外沟通的首选方式。根据Statista的研究&#xff0c;每天大约有3330亿封电子邮件被发送和接收&#xff0c;预计这一数字在未来几年还会增长。然而&#xff0c;邮件诈骗的问题也一直…

SiameseRPN原理详解(个人学习笔记)

参考资源&#xff1a; 视觉目标跟踪SiamRPNSiameseRPN详解CVPR2018视觉目标跟踪之 SiameseRPN 目录&#xff09; 1. 模型架构1.1 Siamese Network1.2 RPN 2. 模型训练2.1 损失函数2.2 端到端训练2.3 正负样本选择 3. 跟踪阶段总结 SiamRPN是在SiamFC的基础上进行改进而得到的一…

web布局——说清楚fixed布局

极限省流 想要fixed做导航页面&#xff1a;指定清楚top、left、right、bottom&#xff0c;没指定清楚布局位置就会采用默认的方式&#xff1a; 0&#xff09;父元素的padding&#xff1a;fixed元素相对位移 1&#xff09;同级元素是fixed元素&#xff1a;覆盖 2&#xff09…

unrealbuildtool 无法找到,执行 Generate Visual Studio Project 错误

参考链接 Generate cpp project Couldnt find UnrealBuildTool - Pipeline & Plugins / Plugins - Epic Developer Community Forums (unrealengine.com) 错误提示如下图&#xff1a; 解决方案&#xff1a; 打开 UnrealBuildTool&#xff0c;生成解决方案就可以了

解决Veeam做replication复制或备份任务时速度很慢问题

在网络层面配置无问题&#xff0c;比如都是万兆网情况下&#xff0c;发现对一个10T大小Linux虚拟机执行replication复制任务时&#xff0c;每次都需要30几个小时才可以跑完。如下图&#xff1a; 如何能让它更快一点跑完任务呢&#xff1f; 解决方法&#xff1a;登录Veeam,进入…

Verilog语法回顾--门级和开关级模型

目录 门和开关的声明 门和开关类型 支持驱动强度的门 延迟 实例数组 and&#xff0c;nand&#xff0c;nor&#xff0c;or&#xff0c;xor&#xff0c;xnor buf&#xff0c;not bufif1&#xff0c;bufif0&#xff0c;notif1&#xff0c;notif0 MOS switches Bidirecti…

Ubuntu20.04LTS+uhd3.15+gnuradio3.8.1源码编译及安装

文章目录 前言一、卸载本地 gnuradio二、安装 UHD 驱动三、编译及安装 gnuradio四、验证 前言 本地 Ubuntu 环境的 gnuradio 是按照官方指导使用 ppa 的方式安装 uhd 和 gnuradio 的&#xff0c;也是最方便的方法&#xff0c;但是存在着一个问题&#xff0c;就是我无法修改底层…

2013年认证杯SPSSPRO杯数学建模A题(第一阶段)护岸框架全过程文档及程序

2013年认证杯SPSSPRO杯数学建模 A题 护岸框架 原题再现&#xff1a; 在江河中&#xff0c;堤岸、江心洲的迎水区域被水流长期冲刷侵蚀。在河道整治工程中&#xff0c;需要在受侵蚀严重的部位设置一些人工设施&#xff0c;以减弱水流的冲刷&#xff0c;促进该处泥沙的淤积&…

在Windows中部署redis

下载redis Windows版redis在GitHub开源&#xff0c;由microsoftarchive维护,项目地址为 https://github.com/microsoftarchive/redis 找到releases&#xff0c;然后在latest中选择msi&#xff0c;或者zip进行下载 安装 msi安装包安装 下载完成后双击运行&#xff0c;同意协…

【御控物联】JavaScript JSON结构转换(11):数组To数组——综合应用

文章目录 一、JSON结构转换是什么&#xff1f;二、术语解释三、案例之《JSON数组 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

公司服务器被.rmallox攻击了如何挽救数据?

公司服务器被.rmallox攻击了如何挽救数据&#xff1f; .rmallox这种病毒与之前的勒索病毒变种有何不同&#xff1f;它有哪些新的特点或功能&#xff1f; .rmallox勒索病毒与之前的勒索病毒变种相比&#xff0c;具有一些新的特点和功能。这种病毒主要利用加密技术来威胁用户&am…

消费盲返:新型返利模式引领购物新潮流

消费盲返&#xff0c;一种引领潮流的新型消费返利模式&#xff0c;其核心在于&#xff1a;消费者在平台选购商品后&#xff0c;不仅能享受优惠价格&#xff0c;更有机会获得后续订单的部分利润作为额外奖励。这种创新的返利机制&#xff0c;既提升了消费者的购物体验&#xff0…