C++sort()函数的用法近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧!(一)为什么要用c++标准库里的排序函数Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高!(二)c++标准库里的排序函数的使用方法I)Sort函数包含在头文件为 #include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可! II)Sort函数有三个参数:( 1 )第一个是要排序的数组的起始地址。( 2 )第二个是结束的地址(最后一位要排序的地址)( 3 )第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。Sort函数使用模板:Sort(start,end,,排序方法)下面就具体使用sort()函数结合对数组里的十个数进行排序做一个说明!例一:sort函数没有第三个参数,实现的是从小到大 #include<iostream> #include<algorithm> using namespace std ; int main(){ int a[ 10 ]={9 , 6 , 3 , 8 , 5 , 2 , 7 , 4 , 1 , 0 }; for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl;sort(a,a+ 10 ); for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; return 0 ;}例二通过上面的例子,会产生疑问:要实现从大到小的排序肿么办? 这就如前文所说需要在sort()函数里的第三个参数里做文章了,告诉程序我要从大到小排序!需要加入一个比较函数 complare(),此函数的实现过程是这样的 bool complare( int a, int b){ return a>b;}这就是告诉程序要实现从大到小的排序的方法! #include<iostream> #include<algorithm> using namespace std ; bool complare( int a, int b){ return a>b;} int main(){ int a[ 10 ]={9 , 6 , 3 , 8 , 5 , 2 , 7 , 4 , 1 , 0 }; for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; sort(a,a+ 10 ,complare); //在这里就不需要对complare函数传入参数了,//这是规则 for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; return 0 ;}例三:通过上面例一、二的方法虽然实现了从大到小和从大到小的排序,这样做还是有点麻烦,因为还需要自己编写告诉程序进行何种排序的函数,c++标准库强大的功能完全可以解决这种麻烦。Sortt函数的第三个参数可以用这样的语句告诉程序你所采用的排序原则less<数据类型>() //从小到大排序 greater<数据类型>() //从大到小排序 结合本例子,这样的就可以完成你想要的任何一种排序原则了 #include<iostream> #include<algorithm> using namespace std ; int main(){ int a[ 10 ]={9 , 6 , 3 , 8 , 5 , 2 , 7 , 4 , 1 , 0 }; for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl;sort(a,a+ 10 ,less< int >()); for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; return 0 ;} #include<iostream> #include<algorithm> using namespace std ; int main(){ int a[ 10 ]={9 , 6 , 3 , 8 , 5 , 2 , 7 , 4 , 1 , 0 }; for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; sort(a,a+ 10 ,greater< int >()); for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; return 0 ;}例四:利用sort函数还可以实现对字符的排序,排序方法大同小异,下面就把程序范例展示一下 #include<iostream> #include<algorithm> using namespace std ; int main(){ char a[ 11 ]= "asdfghjklk" ; for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; sort(a,a+ 10 ,greater< char >()); for ( int i= 0 ;i< 10 ;i++) cout <<a[i]<<endl; return 0 ;}

c++中sort()的用法相关推荐

  1. matlab sort descend,详解Matlab中 sort 函数用法

    搜索热词 (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,3; ...

  2. sort函数降序排列matlab,详解Matlab中 sort 函数用法

    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,5,3;2,4 ...

  3. python中sort和sorted区别_Python中的 sort 和 sorted的用法与区别

    今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别 1. sort: ...

  4. sort在c语言中的作用,c语言中sort的用法详解.docx

    c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...

  5. C++ vector 中sort的一些用法

    C++ vector 中sort的一些用法 文章目录 C++ vector 中sort的一些用法 1.默认排序 2.怎么降序呢 3.vector 怎么打印里面的元素呢 4. 实例 参考 1.默认排序 ...

  6. sort排序中cmp()的用法

    sort排序中cmp()的用法 bool cmp(int a,int b){return a>b; //降序! } sort(t+1,t+n+1,cmp);//数组从1开始

  7. 关于js中sort排序的用法

    关于Array.prototype.sort()方法的使用一直很模糊,今天深入理解一下. 一.Sort()默认排序 根据<JavaScript高级程序设计>中的介绍: 在默认情况下,sor ...

  8. php asort和sort的区别,PHP中sort、asort与ksort区别用法详解

    PHP中sort.asort与ksort对数组的排序方法异同点: sort只依据值从小到大排序,键值不参与排序 asort依据值排序,键值参与排序 ksort依据键值排序,值参与排序 sort只依据值 ...

  9. python代码大全表解释-python中的字典用法大全的代码

    如下代码是关于python中的字典用法大全的代码. #!/usr/bin/env python # # [SNIPPET_NAME: Dictionaries 101] # [SNIPPET_CATE ...

最新文章

  1. BZOJ2281:[SDOI2011]黑白棋(博弈论,组合数学,DP)
  2. 云网融合 — 电信网络云
  3. # PHP - 使用PHPMailer发邮件
  4. 正态分布的峰度和偏度分别为_ML中的正态分布
  5. Enhanced LSTM for Natural Language Inference-学习笔记
  6. java程序员招聘现场
  7. [数据结构-严蔚敏版]P65离散事件模拟(银行客户的离散事件驱动模拟程序)
  8. Android编译系统简要介绍和学习计划
  9. 主板和cpu搭配表_主板和CPU如何搭配?主板和处理器搭配方法
  10. 今天你的静态变量和静态代码块执行了吗?
  11. SAP全日志管理系统(堡垒机)
  12. c#利用zlib.net对文件进行deflate流压缩(和java程序压缩生成一样)
  13. 《计算机网络 自顶向下方法》读书笔记(三)
  14. iOS小技能: 开发 uni 原生插件(支持iOS Extension)
  15. 2016寒假读书笔记
  16. 百度地图自定义覆盖物
  17. 真心话大冒险小程序python实现
  18. python2和python3
  19. python后端滴滴、网易、老虎证券
  20. 二极管反向恢复时间和反向恢复电流

热门文章

  1. NFT交易平台Mintable首个提案通过 收入将按比例分配给MINT代币持有者
  2. 自动化审批决策树助你面试更上一层楼
  3. 设计方案--如何设计移动端高清方案
  4. 《架构之美》阅读笔记06
  5. 面向对象(类,面向对象三大特性)
  6. 【转载】Kali-linux安装之后的简单设置
  7. Linux学习之chage命令
  8. python每日经典算法题5(基础题)+1(较难题)
  9. 获取当前周和前一周周一和周天,下一周周一和周天
  10. javaweb各种乱码问题处理