sort
sort用来排序函数
#include<algorithm>
sort(首元素地址,尾元素地址的下一个地址,比较函数);
//默认对给出的区间进行递增排序
int a[6] = {9,4,2,5,6,-1};
sort(a,a+4); //a[0]~a[3]从小到大排序
如果想要降序
bool cmp(int a,int b){
return a>b;//理解为大的放在前面
}
int main(){
int a[5] = {3,5,2,1,4};
sort(a,a+5,cmp);
return 0;
}
结构体数组排序
struct node{
int x,y;
};
bool cmp(node a,node b){
return a.x>b.x;
}
int main()
{
ssd[0].x=2; //{2,2}
ssd[0].y=2;
ssd[1].x=1; //{1,3}
ssd[1].y=3;
ssd[2].x=3; //{3,1}
ssd[2].y=1;
sort(ssd,ssd+3,cmp);
return 0;
}
容器的排序
bool cmp(int a,int b){
return a>b;//理解为大的放在前面
}
int main(){
vector<int> vi;
vi.push_back(3);
vi.push_back(1);
vi.push_back(2);
sort(vi.begin(),vi.end(),cmp);
return 0;
}