sort()函数是用来排序的函数,使用时需加上头文件”#include<algorithm>“和”using namespace std;“ 其使用方式
sort(首元素地址(必填),尾元素地址的下一个地址(必填),比较函数(非必填));
eg:a[6]={9,4,2,5,6,-1}; sort(a,a+4);//将a[0]~a[3]从小到大排序
(1)若需要对序列进行排序,那么序列中的元素一定要有可比性,因此需要制定比较的规则,sort的第三个可选参数就是compare函数,一般写作cmp函数,用来实现这个规则。若比较函数不填,则默认按照从小到大的顺序排序。如果想要从大到小来排序,则需要使用比较函数cmp来”告诉“sort何时要交换元素(让元素的大小比较关系反过来)”a > b就是左大右小“
#include<cstdio>
#include<algorithm>
using namespace std;
bool cmp(int a, int b){
return a > b;//可以理解为当a > b时把a放在b前面
}
int main(){
int a[]={3,1,4,2};
sort(a, a+4, cmp);
for(int i=0; i < 4; i++){
printf("%d",a[i]);//输出4 3 2 1
}
return 0;
}
(2)结构体数组的排序。先按从大到小排序,但当x相等的