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

用法

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

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

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

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

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

两个参数用法

#include <iostream>
#include <algorithm>
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 <iostream>     // std::cout
#include <algorithm>    // std::sort
#include <vector>       // std::vectorbool myfunction (int i,int j) { return (i<j); }//升序排列
bool 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<int> 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<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)//输出std::cout << ' ' << *it;std::cout << '\n';return 0;
}

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

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

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. Java通过JDBC来连接SqlServer数据库
  3. BZOJ3611: [Heoi2014]大工程
  4. 【STM32 .Net MF开发板学习-18】GPRS遥控智能小车
  5. 不能从远程创建com+对象_红蓝对抗攻防实战:寻找COM对象
  6. Python 调试冷知识
  7. Linux 命令(115)—— rev 命令
  8. 日志解析LogParse启动参数配置
  9. C# 字段、属性、成员变量
  10. 大家推荐一下开源的博客和论坛整合在一起的.net系统
  11. 最新Apicloud+Vue开发App专题(完整)
  12. while循环结构的用法
  13. 打开计算机硬盘是个磁盘图标 不显示大小,硬盘图标显示异常的解决办法
  14. linux显卡驱动与opengl,NVIDIA率先发布OpenGL 3.0 Linux驱动
  15. 基于小梅哥AC620开发板的NIOS II LWIP百兆以太网例程
  16. 呼伦贝尔草原行(5日自由行)
  17. [益智]:谁是机械师
  18. 单声道蓝牙实现音乐播放
  19. 国内设计师经常逛的5个素材网站
  20. html页中加入数学公式,Html+Css+JavaScript实现网页公式编辑器(一)

热门文章

  1. 中考计算机考试评分标准,2016年中考英语作文的评分标准及评分细则(最新)
  2. 南京柳树湾与云南汉族人
  3. Vue首屏加载等待动画
  4. 广电网络宽带电视网关简介与优化设置
  5. 解决enter键Typora不能单换行的问题
  6. WdatePicker常用配置属性
  7. 2023我的秋招之路(1)7.21NJ银行金融科技岗提前批笔试
  8. iatf16949标准三大过程_IATF16949要求的过程、文件、记录汇总
  9. 低碳环保+变废为宝=马铃薯淀粉生产废水处理设备
  10. GTX1050和GTX1050Ti哪个值得买?