一、sort()
sort函数:#include <algorithm>
默认从小到大,如果降序可写第三方函数进行排序,EXP:sort(array,array+n,cmp)
①sort(数组首地址,首地址+排序个数)
第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。
也就是说,排序的区间是[a,b)。
简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。
②sort(数组首地址,首地址+排序个数,比较函数)
1.普通排序,升序
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[10]={7,3,4,6,5,1,2,9,8,0};
sort(a,a+10); ///此处数组范围必须用 a+10 的格式,不能用 sizeof(a)
for(int i=0;i<10;i++) ///也可以用 sort(a,a+sizeof(a)/4),此处相当于sort(a,a+10)
cout<<a[i]<<" ";
return 0;
}
OUTPUT:0 1 2 3 4 5 6 7 8 9
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int a[10]={7,3,4,6,5,1,2,9,8,0};
sort(a,a+10,cmp);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}