1:函数的头文件
#include algorithm
2:函数作用
排序。sort对普通的快速排序进行了优化,还结合了插入排序和推排序。
3:形式
sort(first,first+n,cmp)
参数解释:第一个参数是数组的首地址,一般写数组名就ok,因为数组名是一个指针变量。第二参数,即首地址加上数组的长度n(代表最后地址的下一地址)。最后一个参数是比较函数的名称(自定义函数cmp),比较函数可以不写,即第三个参数可以缺,这样sort会默认按数组的升序排序。
4:简单例子
对数组A的0~n-1的元素进行升序排序,只要写sort(A,A+N);
sort(v.begin(),v.end())
5:sort扩展
(1):如果是结构体,类,复杂的数组想进行降序排序,就可以对sort进行扩展,在于第三个参数**<cmp函数参数>**
(2):数组排列例子
int s[100];
bool cmp(int a,int b)
{renturn a>b; //默认的升序排列
//return a<b;// 降序排列
}
sort(A,A+100,cmp);//[A,A+100)左闭右开
(3):结构体排序
person per[100];
bool cmp(person a,person b)
{return a.id>b.id;//学号降序
//return a.id<b.id;//学号升序
}
sort(per,per+100,cmp);