sort对结构体排序

1、排序方法:

sort(数组起始指针,数组尾指针,排序规则);

数组起始指针,数组尾指针是左闭右开

排序规则可以省略,也可以用系统的,也可以自己写

2、例子:

int a[]={9,2,4,5,10,7,30};

sort(a,a+7);

这是默认的对数组从小到大排列

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;//结构体排序一
//按姓名从小到大排序,姓名一样,按年龄从小到大排序 
struct student{string name;//姓名 int age;//年龄 
}; 
int comp(const student &s1,const student &s2){//自己定义的排序规则 if(s1.name==s2.name){return s1.age<s2.age;}else{return s1.name<s2.name;}
} 
//结构体排序二
//按姓名从小到大排序,姓名一样,按年龄从小到大排序 
struct student2{string name;//姓名 int age;//年龄 bool operator < (const student2 & s2) const {//符号重载 if(name==s2.name){return age<s2.age;}else{return name<s2.name;}}
}; 
int main(){//普通数组排序  int a[]={9,2,4,5,10,7,30};sort(a,a+7);//省略掉排序规则的形式,默认从小到大 sort(a,a+7,less<int>());//用系统的排序规则,从小到大 sort(a,a+7,greater<int>());//用系统的排序规则,从大到小 for(int i=0;i<7;i++){cout<<a[i]<<" ";}cout<<endl; //结构体数组排序一 student s[100];s[0].name="zhangsan";s[0].age=18;s[1].name="zhangsan";s[1].age=19;s[2].name="lisi";s[2].age=20;sort(s,s+3,comp);//左闭右开,所以是对s[0]到s[2]排序 for(int i=0;i<3;i++){cout<<s[i].name<<" "<<s[i].age<<endl;}//结构体数组排序二:符合重载student2 s2[100]; s2[0].name="zhangsan";s2[0].age=18;s2[1].name="zhangsan";s2[1].age=19;s2[2].name="lisi";s2[2].age=20;sort(s2,s2+3);//左闭右开,所以是对s[0]到s[2]排序 for(int i=0;i<3;i++){cout<<s2[i].name<<" "<<s2[i].age<<endl;}return 0;
}
/*
30 10 9 7 5 4 2
lisi 20
zhangsan 18
zhangsan 19
lisi 20
zhangsan 18
zhangsan 19
*/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机控制系统视频关守平,国家级精品课《计算机控制系统》课程建设研讨会顺利召开...

10月27日&#xff0c;国家级精品课《计算机控制系统》课程建设研讨会于科技楼4002会议室召开。我校校长刘建昌&#xff0c;东北大学教授关守平等6人&#xff0c;燕山大学教授孙孝峰等4人&#xff0c;分校控制工程学院院长王凤文、副院长段洪军&#xff0c;各省级精品课负责人、…

python print 如何加锁_python中给程序加锁之fcntl模块的使用

python 中给文件加锁——fcntl模块import fcntl打开一个文件f open(./test) ##当前目录下test文件要先存在&#xff0c;如果不存在会报错。对该文件加密&#xff1a;fcntl.flock(f,fcntl.LOCK_EX)这样就对文件test加锁了&#xff0c;如果有其他进程对test文件加锁&#xff0c;…

priority_queuey用法

priority_queue优先队列&#xff0c;插入进去的元素都会从大到小排好序 PS&#xff1a;在priority_queue<ll, vector<ll>, greater<ll> > pq;中 第一个参数为数据类型&#xff0c;第二个参数为保存数据的容器&#xff08;默认为vector<int>&#xff…

对未来计算机的畅想初中英语,初中英语期中考试,作文停电一小时,在北京……在上海……在威海…….doc...

初中英语期中考试,作文停电一小时,在北京……在上海……在威海……篇一&#xff1a;八年级上册期中考试英语作文范文My summer vacationLast summer vacation, i went to Beijing with my parents. I was very happy and excited. The first day, we went to visit the Great w…

ppt怎么加注解文字_PPT怎么在演示稿中添加批注的方法

PPT怎么在演示稿中添加批注的方法2017-10-24 16:46 责任编辑&#xff1a;老王啊导读 / PPT如何在演示稿中添加批注?设计或制作PPT时,会遇到内容中需要特别解释或着重注意的地方,此时会用到我们添加批注,那么如何在PPT中添加批注呢?小编和大家一起探讨下吧使用批注来将反馈和想…

(回溯2)8皇后

题目 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上&#xff08;有8 * 8个方格&#xff09;&#xff0c;使它们谁也不能被吃掉&#xff01;这就是著名的八皇后问题。 对于某个满足要求的8皇后的摆放方法&am…

武汉理工大学计算机学院2018复试,武汉理工大学2018年自主招生复试揭秘

原标题&#xff1a;武汉理工大学2018年自主招生复试揭秘2018年武汉理工大学考试方式学马教育徐老师介绍&#xff0c;考核以笔试和学科专项测试或特殊专长考评的方式进行&#xff0c;具体要求如下&#xff1a;笔试科目为能力测试(满分300分&#xff0c;内容为数学与逻辑、中文阅…

python3的输出函数_教女朋友学Python3(二)简单的输入输出及内置函数查看 原创...

这是第二天了&#xff0c;工作之余和女朋友一起学Python3&#xff0c;代码都是她敲的&#xff0c;有点辣眼睛&#xff0c;仅做参考。1.题目&#xff1a;输入“姓名”&#xff0c;输出“你好&#xff0c;姓名”步骤&#xff1a;file>new file 输入下面代码Python3代码&#x…

(回溯1)八皇后

描述 在国际象棋棋盘上放置八个皇后&#xff0c;要求每两个皇后之间不能直接吃掉对方。即任意两个皇后都不能处于同一行、同一列或同一斜线上 输入 无输入。 输出 按给定顺序和格式输出所有八皇后问题的解&#xff08;见Sample Output&#xff09;。 样例输入 样例输出 …

nokia 计算机手机,NOKIA手机与电脑的数据线连接

将手机用数据线与电脑连接。系统显示找到新的硬件.下面是学习啦小编收集整理的NOKIA手机与电脑的数据线连接&#xff0c;希望对大家有帮助~~NOKIA手机与电脑的数据线连接方法/步骤将手机用数据线与电脑连接。系统显示找到新的硬件。安装相应的驱动程序。选择“从列表或指定位置…

php网站建设实训引言_网站建设实训报告

实训要求5个人一组&#xff0c;每个组员分工合作完成一个公司的网站&#xff0c;例如组员1负责&#xff1a;网站总设计&#xff0c;公共文件&#xff0c;设计公司LOGO,图片组员2负责&#xff1a;用户浏览模块组员3负责&#xff1a;系统管理模块组员4负责&#xff1a;数据库设计…

(递推1)兔子繁殖问题

有一对小兔子&#xff0c;小兔子过Z个月长大&#xff0c;一对大兔子X个月生Y对小兔子&#xff0c;求n个月后的兔子总对数。 当xyz都是1的时候&#xff0c;f(n)f(n-1)f(n-2) 问题一&#xff1a; 有一对小兔子&#xff0c;小兔子过5个月长大&#xff0c;一对大兔子3个月生4对小兔…

七年级计算机教学质量分析,七年级数学期末教学质量分析报告

七年级数学期末教学质量分析报告提高教育教学质量是学校工作的重中之重,扎实进行课堂教学改革是提高质量的有力保证,是前提条件。下面是小编为大家整理的七年级数学期末教学质量分析报告&#xff0c;欢迎阅读。七年级数学期末教学质量分析报告一一、试卷的主要特点该试卷既注重…

上下位机串口通信 python_怎么将图片通过串口发送给下位机?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼是这样的&#xff0c;本人小白一枚&#xff0c;最近有一个想法&#xff0c;想用python做上位机 C51做下位机做一台激光打印机&#xff0c;两个我都刚学不久&#xff0c;所以都不太了解&#xff0c;图像处理我用了抖动算法&#xff…

(数论1)质因数

质因数&#xff08;素因数或质因子&#xff09;在数论里是指能整除给定正整数的质数 质数定义为在大于1的自然数中&#xff0c;除了1和它本身以外不再有其他因数。 正整数的因数分解可将正整数表示为一连串的质因子相乘&#xff0c;质因子如重复可以用指数表示 除了1以外&am…

做计算机工作的要专用手机吗,怎么在手机上完成工作?原来没有电脑手机还可以这样用...

用手机工作&#xff0c;放在功能机时代或者早期的智能手机时代&#xff0c;这个可能性很小。但是放在这个智能手机黑科技一年比一年厉害的时代来说&#xff0c;用手机来工作完全可能&#xff0c;至少一些简单的工作是可以在手机上实现的。因为手机可以借助一些自身的设计或者配…

(递归1)爬楼梯

题目描述 树老师爬楼梯&#xff0c;他可以每次走1级或者2级&#xff0c;输入楼梯的级数&#xff0c;求不同的走法数 例如&#xff1a;楼梯一共有3级&#xff0c;他可以每次都走一级&#xff0c;或者第一次走一级&#xff0c;第二次走两级 也可以第一次走两级&#xff0c;第二…

ajax success返回 .net,asp.net-mvc-返回JsonResult的ASP.Net MVC Ajax调用

我开始学习ASP.Net MVC(候选发行版),但遇到了一些麻烦.我可能只是很挑剔,但我想问一下.我想使用内置的(扩展的)ASP.Net Ajax方法来调用我的控制器,该方法称为“ GetNames”,它返回一个JsonResult对象.我已经看到了使用$.getJSON()jQuery方法的示例,但我宁愿执行如下操作&#x…

参考文献标号字体_论文格式要求及字体大小

论文格式要求及字体大小论文既是探讨问题进行学术研究的一种手段&#xff0c;又是描述学术研究成果进行学术交流的一种工具。下面小编为大家整理了论文格式要求及字体大小&#xff0c;欢迎阅读&#xff01;一、封面题目&#xff1a;小二号黑体加粗居中。各项内容&#xff1a;四…

(递归2)汉诺塔

题目描述 约19世纪末&#xff0c;在欧州的商店中出售一种智力玩具&#xff0c;在一块铜板上有三根杆&#xff0c;最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到中间的杆上&#xff0c;条件是一次只能移动一个盘&#xff0c;且不…