头文件:<algorithm>
排序格式:sort (a,a+n)——  指从a[0]到a[n-1]排序,他有两种形式
(1)默认从小到大排序
(2)加cmp自定义排序方式:sort (a,a+n,cmp),再定义一个比较函
数,通常对条件筛选进行排序一般与结构体连用。
方式:
bool cmp ( int a, int b){
return a>b;}   //表示按照从大到小的顺序,也可与条件句连用
 拓展:
去重:去重的方法有多种,通常可以使用计数排序的方法
另外还有STL中的unique (a,a+n)  指对有序数组a从 a[0]到a[n-1]去重
但他并不是直接去重,是有返回值的,他返回了去重后最后一个元素的指针
要赋值使用。


示例:

每个学生都有3门课的成绩:语文、数学、英语。
先按总分从高到低排序,
如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文
成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确
定的。
任务:最后按排名顺序输出前五名名学生的学号和总分。


#include <iostream>
#include <algorithm>
using namespace std;
const  int ding=400;
struct student {   //结构体的定义
int num,chinese,math,english,total;
};
bool cmp(student a,student b){   //自定义比较函数
if (a.total!=b.total) return a.total >b.total;
if (a.chinese!=b.chinese) return a.chinese > b.chinese;
return a.num<b.num;    //比较条件的建立
}
int main()
{student a[ding];  //结构体的声明
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].chinese>>a[i].math>>a[i].english;
a[i].total=a[i].chinese+a[i].math+a[i].english;
a[i].num=i;
}
sort (a+1,a+1+n,cmp);   //函数的使用
for(int i=1;i<=5;i++){cout<<a[i].num<<" "<<a[i].total<<endl;
}
return 0;
}

STL中 sort 排序方法相关推荐

  1. STL中sort排序的简单使用

    测试int的sort功能 #include <iostream> #include <string> #include <algorithm> #include & ...

  2. python中的sort排序加换行_python中sort()排序的方法

    python中sort()排序的方法 发布时间:2020-09-01 10:57:52 来源:亿速云 阅读:110 作者:小新 这篇文章主要介绍了python中sort()排序的方法,具有一定借鉴价值 ...

  3. C++中sort()排序函数应用

    ** C++中sort()排序函数应用 ** sort(first_pointer,first_pointer+n,cmp) 该函数可给数组,或者链表list.向量排序. 实现原理:sort并不是简单 ...

  4. Array数组对象sort排序方法

    数组sort排序方法 Array数组对象中的sort方法是根据数组中数组元素的字符编码进行排序的,所以对数字的排序,会跟想要的升序结果不一样 通过设置sort()方法的参数可以按照自定义的排序方式对数 ...

  5. STL中的nth_element()方法的使用

    STL中的nth_element()方法的使用 通过调用nth_element(start, start+n, end) 方法可以使第n大元素处于第n位置(从0开始,其位置是下标为 n的元素),并且比 ...

  6. python数组排序sort_详解python中sort排序使用

    1.前言 昨天一学妹问我一个关于python的问题,当时在外忙碌,没时间细看.今天看一下,咋一看我还真的不知道这个问题,bookinfo.sort(reverse=True ,key=lambda x ...

  7. c语言中怎么排序,c语言中的排序方法.doc

    c语言中的排序方法 排序技术 所谓排序,就是要整理的文件中的记录,使之按关键字第增(或第减)的次序排列起来. 常用交换类排序 冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线 ...

  8. 关于sort( )排序方法的兼容性问题

    测试人员昨天测出360浏览器下有个页面显示不全,在别的浏览器下没有问题,从而猜想是兼容性问题,回想该页面改动过的地方只是加了一个 sort 排序方法,查资料得知 sort在不同浏览器下的结果和写法是不 ...

  9. python中的排序方法都有哪些_Python中的排序方法sort(),sorted(),argsort()等

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...

最新文章

  1. 8.Map集合(HashMapTreeMap)
  2. LA3403 天平难题
  3. 基于深度学习的图像分类Image classification with deep learning常用模型
  4. Java IO流操作规律
  5. RabbitMq入门以及使用教程
  6. ImportError: cannot import name HTTPSHandler
  7. Connect 2016 白话脱口秀将在B站直播,我们的口号是quot; 微软大法好quot;
  8. BP神经网络分类实战项目(深度学习笔记)原创!基础篇||PCA降维、反向传播公式、梯度下降、标准化、倾斜样本处理、独热编码、Adam优化算法、权值初始化、F1-Score、ROC、模型可视化
  9. 关于ActiveMQ序列化对象爆“Forbidden class xxx! ...”问题的解决
  10. IntelliJ中可能的东西在Eclipse中是不可能的?
  11. Java游戏编程——愤怒的小鸟(一)
  12. tp php websocket教程,tp6 websocket方法详解
  13. 今日更新京东皮卡丘1.7修复链接和预约抢购下单商品,手机端茅台抢购软同步上架(可配备群控使用)
  14. 实战:用 C 语言实现操作系统
  15. 苹果自研Apple M1芯片对机器学习意味着什么?
  16. 关于垂直线和水平线判断问题
  17. OpenCV学习案例之车牌识别EasyPR
  18. 29.递归三元表达式生成式匿名函数
  19. 重学c语言 新开导言
  20. 学习人工智能宝藏网站(Papers with Code)

热门文章

  1. mtk tuning tools
  2. oracle insert replace into,讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
  3. Qt浅谈之三十六仿360设置中心
  4. 苹果app充值限制解除_苹果手机无需越狱解除150M流量下载限制
  5. 支付宝小程序 | 上传图片组件(添加默认样式以及自定义上传样式)
  6. 超全jquery网页特效素材网站整理
  7. 【转】Buff机制及其实际运用
  8. UI设计教程分享:Ps合成炫酷机械姬
  9. 通过JShellLink获取快捷方式(.lnk格式文件)的真实路径
  10. 开放问题,创业型公司如何控制进度?(欢迎评论)