最近在刷ACM经常用到排序,以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是很多学长推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数

用法

1、sort函数可以三个参数也可以两个参数,必须的头文件#include < algorithm>和using namespace std;
2、它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n)

3、Sort函数有三个参数:(第三个参数可不写)

(1)第一个是要排序的数组的起始地址。

(2)第二个是结束的地址(最后一位要排序的地址)

(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。

两个参数用法

#include
#include
int main()
{int a[20]={2,4,1,23,5,76,0,43,24,65},i;for(i=0;i<20;i  )cout<<a[i]<<endl;sort(a,a 20);for(i=0;i<20;i  )cout<<a[i]<<endl;return 0;
}

输出结果是升序排列。(两个参数的sort默认升序排序)


三个参数

// sort algorithm example
#include      // std::cout
#include     // std::sort
#include        // std::vectorbool myfunction (int i,int j) { return (ibool myfunction2 (int i,int j) { return (i>j); }//降序排列struct myclass {bool operator() (int i,int j) { return (i<j);}
} myobject;int main () {int myints[8] = {32,71,12,45,26,80,53,33};std::vector myvector (myints, myints 8);               // 32 71 12 45 26 80 53 33// using default comparison (operator <):std::sort (myvector.begin(), myvector.begin() 4);           //(12 32 45 71)26 80 53 33// using function as compstd::sort (myvector.begin() 4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80)//std::sort (myints,myints 8,myfunction);不用vector的用法// using object as compstd::sort (myvector.begin(), myvector.end(), myobject);     //(12 26 32 33 45 53 71 80)// print out content:std::cout << "myvector contains:";for (std::vector::iterator it=myvector.begin(); it!=myvector.end();   it)//输出std::cout << ' ' << *it;std::cout << '\n';return 0;
}

string 使用反向迭代器来完成逆序排列

#include
using namespace std;
int main()
{string str("cvicses");string s(str.rbegin(),str.rend());cout << s <<endl;return 0;
}
//输出:sescivc

来源:CSDN - 浅然言而信

https://blog.csdn.net/w_linux/article/details/76222112

C sort 排序函数用法相关推荐

  1. C++ sort排序函数用法

    最近在刷ACM经常用到排序,以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是很多学长推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数 用 ...

  2. sort排序函数用法

    以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是指导老师推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数. 用法 1.sort函数可以三 ...

  3. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  4. 自写sort排序函数(支持重载排序规则)

      最近有点浮躁,无心练题,便捣鼓了一阵子的C++.接触了一点点的重载和模板后,心血来潮想写一点牛逼点的东西.因为平时打编程比赛要排序的地方都是直接用的C++中自带的sort排序函数,就想自己也写一个 ...

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

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

  6. oracle分类函数总结,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  7. Python排序函数用法

    Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,di ...

  8. sort()排序函数

    http://blog.csdn.net/zzzmmmkkk/article/details/4266888 想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qso ...

  9. C++ sort排序函数详解

    在很多应用中,排序都是至关重要的.基于C语言的经典排序算法有很多(冒泡排序.快速排序.插入排序.选择排序等) 一.sort函数描述 在基于C++的实际应用中(支持 < 运算符的语言)已经为我们提 ...

最新文章

  1. 终于有人把数据、信息、算法、统计、概率和数据挖掘都讲明白了!
  2. python爬虫系列(5.3-动态网站的爬取的策略)
  3. centos中的mysql安装配置,Linux下安装配置MySQL
  4. 光电编码器的原理及应用场合_光电传感器原理及应用
  5. Java并发编程:进程和线程之由来
  6. Python + Steamlit 快速开发可视化 web 页面!
  7. Bash 实例,第 2 部分
  8. mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度
  9. 机器学习基础:极大似然估计(Machine Learning Fundamentals: Maximum Likelihood Estimation)
  10. C语言 判断一个三位数是否为水仙花数
  11. 《炬丰科技-半导体工艺》--技术资料合集14
  12. UG二次开发GRIP刻字
  13. 查看自己电脑被别人U盘拷贝文件
  14. nodejs之简单的爬数据
  15. java 菜刀_jsp一句话木马菜刀
  16. 人脸检测技术现状及3D检测调研
  17. 系列服务器大概多重,一台服务器有多重
  18. proxmox 控制台无法连接_Proxmox VE网络配置
  19. 学的中专计算机专业可以考大专吗,我是中专计算机系毕业的,可以考哪些国家职业资格证书...
  20. 《图像处理与计算机视觉算法及应用》读后感

热门文章

  1. centos 如何查看操作系统是哪个版本
  2. 国产服务器芯片性能如何,如何挑选国产芯片服务器
  3. 神经网络(深度学习)入门学习
  4. 7款经典的MySQL客户端软件
  5. pinyin4j使用示例(支持多音字)
  6. 把时间当作朋友——第6章 交流
  7. 人人都是秋名山车神——Unity实现简化版卡丁车漂移
  8. 进制操作,数据底层计算机基础
  9. 美国英文简写日期格式转换
  10. 用C++语言写游戏——打怪小游戏