如:Sort(start,end,排序方法)
首先,sort函数包含在头文件为**#include<algorithm>**的c++标准库中。
sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
下面就具体使用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; }