sort( )函数是库函数提供的排序函数,必须包括头文件#include<algorithm>。
书写形式为:sort(数组起始位置,数组结束位置,cmp),其中第三个参数cmp表示排序方式的函数,默认表示升序方式,可省略。

(1)升序排序
例如:数组a[5]={4,3,2,1,7}进行升序排列
写法一:sort(a,a+5) //数组的下标从0开始,数组名代表数组的首地址。5代表数组的长度
当然,如果人为地把数组的下标改为从1开始:
写法二:sort(a+1,a+6)

(2)降序排序
例如:数组a[5]={4,3,2,1,7}进行降序排列,直接可以写成:
sort(a,a+4,cmp) ; //cmp不能省略,需要自行实现该函数

cmp函数的实现方式:
如果后面的数比前面的数大,则
bool cmp( int a, int b ){
return a>b; //降序排列,如果升序排列,则改为return a<b;
}

总的来说,sort让排序变得简单,当不需要我们实现排序的过程时,直接调用sort函数可以为我们节省很多时间。但是经典的排序算法——冒泡排序法、选择排序法、插入排序法、快速排序法、希尔排序法、堆排序法等,还是需要掌握的哦!

Sort函数使用很方便,但是要记住一点:基本数据类型(整型、实型、字符型)的元素可以直接进行大小比较,所以cmp函数中可以直接使用”>”或”<”等运算符。但结构体、类等类型的元素不能直接比较大小,需要重载”>”或”<”等运算符,并且自行实现cmp函数。这也是很多学者忽略的一点。

举个例子:
有3个学生的信息,分别包括:姓名,年龄;要求按照年龄的升序输出3个学生的信息。代码实现如下:

#include<iostream>
#include<algorithm>
using namespace std;
struct student {char name[10];int age;bool operator<(const student &a)const {//结构体重载运算符 return age<a.age;}
} stu[3];
bool cmp( student a, student b ) { //结构体类型 return a<b;  //升序排列
}
int main() {//输入信息for(int i=0; i<3; i++)scanf("%s%d",stu[i].name,&stu[i].age);sort(stu,stu+3,cmp);//输出信息for(int i=0; i<3; i++)printf("%s  %d\n",stu[i].name,stu[i].age);return 0;
}

更多的排序算法:
sort函数排序 https://blog.csdn.net/weixin_43956598/article/details/90241551
冒泡排序 https://blog.csdn.net/weixin_43956598/article/details/90176251
选择排序 https://blog.csdn.net/weixin_43956598/article/details/90178197
插入排序 https://blog.csdn.net/weixin_43956598/article/details/90181567
快速排序 https://blog.csdn.net/weixin_43956598/article/details/90215135
希尔排序 https://blog.csdn.net/weixin_43956598/articledetails/90234480
堆排序 https://blog.csdn.net/weixin_43956598/article/details/90343547

为了便于道友们向我咨询问题,特意开设了一个免费的知识星球——CaptianXue,星球提供学习、理财、生活、职场等各类文章和免费答疑!!

最简单的排序法——sort( )函数相关推荐

  1. 求水仙花数 以及 最大公约数最小公倍数 以及 冒泡法 以及字母大小写的转换 以及简单选择排序法 以及斐波那契数列

    什么是水仙花数呢? 假设一个数ABC是一个三位数. 水仙花数就是 A*A*A +B*B*B +C*C*C = ABC; 水仙花的具体代码. 接着是最大公约数以及最小公倍数 如果两个数是ab,最大公约数 ...

  2. 数据结构 - 简单选择排序法

    数据结构 - 简单选择排序法 在之前的博文里已经介绍过排序的两个基本方法: 双重循环法和冒泡排序法. 基本思想 其实上面两种方法的基本思想都是一样的: 就是将排序步骤分成两层循环, 在内层的每1个循环 ...

  3. 排序算法 | sort函数的使用

    除了我们自己写的排序算法:冒泡排序.选择排序等,C语言中提供了库函数qsort或者C++中提供了sort函数可以直接调用进行排序.考虑到qsort函数的使用需要用到指针,且写法上也没有sort函数简洁 ...

  4. stl排序之sort函数

    STL容器的排序,支持随机访问的容器vector,deque,string没有sort成员,可调用std::sort排序:list排序调用自带的list::sort. 下面是std::sort函数,有 ...

  5. C++ vector数组实现多级排序—使用sort()函数

    之前有记录过 python 使用 numpy 的多级排序方法: numpy 多级排序 :lexsort 函数详解_地球被支点撬走啦的博客-CSDN博客_lexsort C++ 多级排序可以借用 sor ...

  6. C语言 简单选择排序法

    简单选择排序是指一种排序算法,在简单选择排序过程中,所需移动记录的次数比较少.最好情况下,即待排序记录初始状态就已经是正序排列了,则不需要移动记录. 一.基本思想 在要排序的一组数中,选出最小的一个数 ...

  7. sort函数_Python排序之sortamp;sorted

    1 首先,Python中sort与sorted的区别: python中列表的内置函数sort()可以对列表中的元素进行排序,sort()函数是内置函数,会改变当前对象: 而全局性的sorted()函数 ...

  8. sort函数的用法(C++排序库函数的调用)对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了。

    对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了. (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c+ ...

  9. 七种排序------简单选择排序(Simple Selection Sort)

    简单选择排序法就是通过 n - i 次关键字间的比较,从 n - i + 1个记录中选出关键字最小的记录,并和第 i 个记录交换. 代码如下: void SelectSort(SqList *L) { ...

最新文章

  1. Linux下磁盘I/O测试
  2. 在python中使用sort_Python中的sort()方法使用基础教程
  3. elastic学习笔记
  4. 注册.NET Framework
  5. 无插件,无com组件,利用EXCEL、WORD模板做数据导出(一)
  6. the development of c language(转)
  7. python学习笔记之函数(方法)(四)
  8. R语言绘制流程图(一)
  9. 9.2 5道半leetcode+2verilog+ques lists
  10. 项目工程设计图纸内容规范
  11. mysql和mongodb查询性能测试_MongoDB 模糊查询,及性能测试
  12. FidMTF: An MTF Estimator (FidMTF:一种MTF估计方法)
  13. 微信开发者工具官方版
  14. Vue 生成海报图的方法
  15. 苏索轰世界波 米兰2:0热那亚重返意甲前四
  16. Moderate Modular Mode
  17. 正则表达式的字符匹配(一)
  18. 深入理解散列函数和散列表
  19. 强大的文字处理器——Nisus Writer Pro
  20. 小鸟云安全组在哪里?怎么设置?

热门文章

  1. Python基础知识之2——字典
  2. 双系统windows ubuntu 时间同步
  3. 3dmax2010中文版下载|3DSMax 2010 狂人精简版
  4. VSCode实用快捷键:复制粘贴内容不改变剪切板等
  5. c语言求素数500-1999,初等数论练习题
  6. 计算机系统结构中的8个伟大思想
  7. 什么是鬼影病毒,听说重装系统都没用?
  8. Ubuntu 16.04 LTS将移除私有的AMD催化剂驱动
  9. PDF怎么转换成excel免费?快收藏这几个方法
  10. 用Dism++封装Windows 7镜像