C++ sort 函数
来源:互联网 发布:uzi网络爆炸喷人视频 编辑:程序博客网 时间:2024/06/06 18:04
在刷题看C++源代码时,发现sort()这个函数,作为一个C++萌新,就去查看了这个函数的相关用法。
Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高!
sort函数包含在头文件为#include<algorithm>的c++标准库中。
一,最基本的使用,sort(a+i,a+n),在这里a是一个数组,可以是int类型,也可为字符类型,sort会自动将这个数组中从下标为i到下标为n的数据进行增序排序。例如:
#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]<< " " ; cout << endl; sort(a,a + 10); for(int i = 0;i < 10;i++) cout<< a[i] <<" "; return 0;}
把0~10打乱写入数组a中,再用sort函数,运行结果为:
但是这样只能做到从大到小排序,要做到从小到大排序还需要进行加工。
有两种方法,一种为加一个比较函数 complare(),个人觉得另一种更为便捷,在此就不再讲述这一种方法,有兴趣者可以自己百度,google。
现在讲第二种,Sortt函数的第三个参数可以用这样的语句告诉程序你所采用的排序原则
less<数据类型>()//从小到大排序,greater<数据类型>()//从大到小排序。同样通过把0~10进行排序。
#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]<<" ";} cout<< endl; sort(a,a+10,greater<int>()); for(int i=0;i<10;i++) { cout<<a[i]<<" ";} return 0;}
sort(a,a+10,greater<int>());就是对a数组0~10
数据进行由大到小排序。
对字符串数组也是一样,下面看一个例子就能明白
#include<iostream>#include<algorithm>using namespace std;int main(){ char a[11]="abcdefg"; for(int i=0;i<10;i++) { cout<<a[i]<<" ";} cout<< endl; sort(a,a+10,greater<char>()); for(int i=0;i<10;i++) { cout<<a[i]<<" ";} return 0;}
运行结果
1 0
- C++sort 函数用法
- C++sort 函数用法
- C++sort 函数用法
- C++Sort函数用法
- C++sort函数
- C/C++sort函数用法
- C++sort函数的用法
- C++sort函数的用法
- [C++]排序函数sort()用法
- C++sort函数使用总结
- C/C++中的sort()函数,,,,,,,
- C++sort函数的用法
- C++sort函数的用法
- C++sort函数的用法
- C++sort函数的用法
- C ++排序函数sort(),qsort()
- C++sort函数的用法
- C++sort()函数的用法
- 文章标题
- fisher information 的直观意义
- redis面试
- ubuntu14.04 安装TensorFlow&升级 cuda8.0 的坑
- 《Android源码设计模式解析与实战》读书笔记(七)——策略模式
- C++ sort 函数
- CentOS安装Python3.5
- Ubuntu下代理设置方法
- windows API 读写ini文件
- Linux进程相关信息查询集合
- 设计模式之桥接模式JavaScript实现方式1
- C语言程序设计(14)
- MySQL的外网访问配置
- 青云的服务器密钥