c++中sort()的用法
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()的用法相关推荐
- matlab sort descend,详解Matlab中 sort 函数用法
搜索热词 (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,3; ...
- 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 ...
- python中sort和sorted区别_Python中的 sort 和 sorted的用法与区别
今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别 1. sort: ...
- sort在c语言中的作用,c语言中sort的用法详解.docx
c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...
- C++ vector 中sort的一些用法
C++ vector 中sort的一些用法 文章目录 C++ vector 中sort的一些用法 1.默认排序 2.怎么降序呢 3.vector 怎么打印里面的元素呢 4. 实例 参考 1.默认排序 ...
- sort排序中cmp()的用法
sort排序中cmp()的用法 bool cmp(int a,int b){return a>b; //降序! } sort(t+1,t+n+1,cmp);//数组从1开始
- 关于js中sort排序的用法
关于Array.prototype.sort()方法的使用一直很模糊,今天深入理解一下. 一.Sort()默认排序 根据<JavaScript高级程序设计>中的介绍: 在默认情况下,sor ...
- php asort和sort的区别,PHP中sort、asort与ksort区别用法详解
PHP中sort.asort与ksort对数组的排序方法异同点: sort只依据值从小到大排序,键值不参与排序 asort依据值排序,键值参与排序 ksort依据键值排序,值参与排序 sort只依据值 ...
- python代码大全表解释-python中的字典用法大全的代码
如下代码是关于python中的字典用法大全的代码. #!/usr/bin/env python # # [SNIPPET_NAME: Dictionaries 101] # [SNIPPET_CATE ...
最新文章
- BZOJ2281:[SDOI2011]黑白棋(博弈论,组合数学,DP)
- 云网融合 — 电信网络云
- # PHP - 使用PHPMailer发邮件
- 正态分布的峰度和偏度分别为_ML中的正态分布
- Enhanced LSTM for Natural Language Inference-学习笔记
- java程序员招聘现场
- [数据结构-严蔚敏版]P65离散事件模拟(银行客户的离散事件驱动模拟程序)
- Android编译系统简要介绍和学习计划
- 主板和cpu搭配表_主板和CPU如何搭配?主板和处理器搭配方法
- 今天你的静态变量和静态代码块执行了吗?
- SAP全日志管理系统(堡垒机)
- c#利用zlib.net对文件进行deflate流压缩(和java程序压缩生成一样)
- 《计算机网络 自顶向下方法》读书笔记(三)
- iOS小技能: 开发 uni 原生插件(支持iOS Extension)
- 2016寒假读书笔记
- 百度地图自定义覆盖物
- 真心话大冒险小程序python实现
- python2和python3
- python后端滴滴、网易、老虎证券
- 二极管反向恢复时间和反向恢复电流