Sort函数的用法

快速排序sort的用法:(适用于int float double char 。。。)

记得加头文件!

记得加头文件!

记得加头文件!

头文件: #include <algorithm> 

 using namespace std ;     // 两行都要写

 

数组排序:

 1 #include <algorithm>
 2 
 3 using namespace std;
 4 
 5 int   a[10] = {9,6,3,0,2,5,8,7,4,1};
 6 
 7 sort(a,a+10);   // 如果数组中有n个整数   sort(a,a+n);
 8 
 9  
10 
11 // 结果为:0 1 2 3 4 5 6 7 8 9         
12 
13 // 如果是 sort(a,a+5),则只对a数组中前五个元素进行排序。。。其他的触类旁通、(自己敲点代码验证一下)            
14 
15 // 注意:sort函数默认按升序排列   
16 
17 
18 // 想让按降序排列的话,需要加cmp
19 
20 #include <algorithm>
21 
22 using namespace std;
23 
24 int   a[10] = {9,6,3,0,2,5,8,7,4,1};
25 bool  cmp(int a,int b)
26 {
27     return  a> b;
28 }
29 sort(a,a+10);
30 
31 // 结果为:9 8 7 6 5 4 3 2 1 0 。

 

结构体排序:

例:

考生的信息包括:考生的准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号 (题目号由1到M)。

这些信息可以用一个结构体存起来

1 struct  Student
2 {
3     char  str[30];   //考生准考证号
4     int  m;  // 解决题目总数
5     int  num[20];  //存题号
6     int  sum;  // 考生的最后得分
7 
8 }student[1010];

排序要求:按分数从高 到低输出上线考生的考号与分数,其间用1空格分隔。若有多名考生分数相同,则按他们考号的升序输出。 

注意有两个排序要求

1、按分数从高 到低      2、分数相同,则按他们考号的升序

所以cmp可以这样写

1 bool  cmp (Student  a, Student  b)  // 注意这里的变量a、b均为 Student类型
2 {
3     if (a.sum  > b.sum)      //1、按分数从高 到低  
4         return true;
5     if (a.sum == b.sum && strcmp(a.str , b.str < 0)  //2、分数相同,则按他们考号的升序
6         return true;
7     else
8         return false;
9 }

/*  If you have any questions, please contact me  */

 

转载于:https://www.cnblogs.com/yoke/p/6695389.html

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

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

相关文章

crf与bitrate对照表

crf与bitrate对照表 (2011-06-21 17:45:59)一些关于crf的备忘&#xff1a; 1、相较于bitrate方式&#xff0c;cpu占用与内存占用均会下降&#xff1b; 2、锐化滤镜会让crf的码率上升&#xff1b; 3、vbv对crf依然有效&#xff1b; 4、crf18就接近无损&#xff0c;字幕组惯用20-…

秒杀多线程第三篇 原子操作 Interlocked系列函数

上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见&#xff0c;我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录&#xff0c;每个用户登录用一个…

Vue 教程第九篇—— 动画和过度效果

过渡效果 SPA 中组件的切换有一种生硬的隐藏显示感觉&#xff0c;为了更好的用户体验&#xff0c;让组件切换时淡出淡入&#xff0c;Vue 提供了专门的组件 transition。 过滤效果应用场景 条件渲染 (使用 v-if)条件展示 (使用 v-show)动态组件组件根节点过渡状态 enter&#xf…

halcon create_ocr_class_svm 使用SVM分类器创建OCR分类器

目录create_ocr_class_svm&#xff08;算子&#xff09;描述参数create_ocr_class_svm&#xff08;算子&#xff09; create_ocr_class_svm - 使用支持随机向量机制创建OCR分类器。 create_ocr_class_svm&#xff08;:: WidthCharacter&#xff0c;HeightCharacter&#xff0…

码率跟视频质量有关系

码率跟视频质量有关系.首先要清楚, 相同的视频编码方式下, 码率越高肯定画面越清晰. 但是高到一定值, 再往上的画面改善程度就不明显了, 只会增大文件体积. 所以码率选的合适, 才可以保证清晰度又保持文件不会太大. 个人经验如果是h.264编码(当前最好的视频压缩编码方案), …

SQL 字符串分割表函数

1 --字符串分割表函数2 declare str varchar(1000)3 declare split varchar(10) 4 5 declare i int;6 declare count int;7 8 declare ChildStr varchar(1000);9 declare splitStr varchar(1000); 10 declare Index int; 11 12 declare table as table (rowId int,splitStr va…

语句:分支语句、switch case ——7月22日

语句的类型包括&#xff1a;声明语句、表达式语句、选择语句、循环语句、跳转语句、异常语句 1&#xff0e;声明语句引&#xff1a;入新的变量或常量。 变量声明可以选择为变量赋值。 在常量声明中必须赋值。 例如&#xff1a; int i 0;//声明变量i 并赋值&#xff0c;也可以不…

halcon write_ocr_trainf 将训练字符存储到文件中

目录write_ocr_trainf&#xff08;运算符&#xff09;描述参数write_ocr_trainf&#xff08;运算符&#xff09; write_ocr_trainf - 将训练字符存储到文件中。 write_ocr_trainf&#xff08;Character&#xff0c;Image :: Class&#xff0c;TrainingFile ? 描述 运算符w…

码率计算文章

http://bbs.dvbcn.com/showtopic-41431-1.html

PostgreSQL Oracle 兼容性之 - INDEX SKIP SCAN (递归查询变态优化) 非驱动列索引扫描优化...

标签 PostgreSQL , Oracle , index skip scan , 非驱动列条件 , 递归查询 , 子树 背景 对于输入条件在复合索引中为非驱动列的&#xff0c;如何高效的利用索引扫描&#xff1f; 在Oracle中可以使用index skip scan来实现这类CASE的高效扫描&#xff1a; INDEX跳跃扫描一般用在W…

如何确定镜头CCD靶面尺寸?

在组建机器视觉系统时&#xff0c;需要选用适合实际应用的产品。今天&#xff0c;中国机器视觉商城的培训课堂为您带来的是关于工业镜头CCD靶面尺寸的确定方法。 在选择镜头时&#xff0c;我们通常要注意一个原则&#xff1a;即小尺寸靶面的CCD可使用对应规格更大的镜头&#x…

lua去掉字符串中的UTF-8的BOM三个字节

废话不多说&#xff0c;还是先说点吧&#xff0c;项目中lua读取的text文件如果有BOM&#xff0c;客户端解析就会报错&#xff0c;所以我看了看&#xff0c;任务编辑器swGameTaskEditor 在写入文件的时候&#xff0c;也不知道为什么有的文件就是UTF-8BOM格式&#xff1b;但一般都…

JQuery对象与DOM对象的区别与转换

1.jQuery对象和DOM对象的区别 DOM对象&#xff0c;即是我们用传统的方法(javascript)获得的对象&#xff0c;jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj document.getElementById("id"); //DOM对象var $obj $("#id"); //jQuery对象;…

halcon append_ocr_trainf 将字符添加到训练文件中

目录append_ocr_trainf&#xff08;算子&#xff09;描述参数append_ocr_trainf&#xff08;算子&#xff09; append_ocr_trainf - 将字符添加到训练文件中。 append_ocr_trainf&#xff08;Character&#xff0c;Image :: Class&#xff0c;TrainingFile ? 描述 运算符a…

CCD 尺寸

CCD&#xff08;包括CMOS感光元件&#xff09;的面积是按其矩形对角线英寸长度为指标的。这和定义电视屏幕尺寸类似。一英寸是25.4毫米。1/2.0英寸、1/1.8都是指CCD 对角线有多少分之一英寸长&#xff0c;分母小的其分数值就大&#xff0c;相应感光元件面积也大。 1/2.…

Quagga的安装碰到的问题

1.如果出现以下错误&#xff1a; vtysh: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP 解决方法如下: 1.rootlocalhost:~ # cd /usr/local/lib 2.rootlocalhost:/usr/local/lib# ls -la libreadline* 3.rootlocalhost:/usr/local/lib# mkd…

X264电影压缩率画质

X264电影压缩率画质全对比&#xff1a; http://www.mov8.com/dvd/freetalk_show.asp?id29778

halcon read_ocr_trainf 从文件中读取训练字符并转换为图像

目录read_ocr_trainf&#xff08;算子&#xff09;描述参数read_ocr_trainf&#xff08;算子&#xff09; read_ocr_trainf - 从文件中读取训练字符并转换为图像。 read_ocr_trainf&#xff08;&#xff1a;Characters&#xff1a;TrainingFile&#xff1a;CharacterNames&am…

(十二)洞悉linux下的Netfilteramp;iptables:iptables命令行工具源码解析【下】

iptables用户空间和内核空间的交互 iptables目前已经支持IPv4和IPv6两个版本了&#xff0c;因此它在实现上也需要同时兼容这两个版本。iptables-1.4.0在这方面做了很好的设计&#xff0c;主要是由libiptc库来实现。libiptc是iptables control library的简称&#xff0c;是Netfi…

Linux 下实现普通用户只能写入某个目录

今天老婆问了我一个问题&#xff1a;如何在linux 下实现某个目录普通用户能够写入文件&#xff0c;但是不能删除或修改&#xff08;只能由root 删除或修改&#xff09;。开始的两分钟里&#xff0c;我初步判断这是做不到的&#xff0c;因为linux 下能 写入&#xff08;w&#x…