sort排序

  • sort函数是包含在头文件为#include<algorithm>的c++标准库中,默认从小到大进行排序。

数组排序

#include <bits/stdc++.h>
 
using namespace std;

bool cmp(int x,int y){
    return x > y;
}

int main()
{
    int a[10] = {1,5,3,2,4,6,9,7,8,0};
    sort(a,a+10);
    for(int i = 0 ; i < 10 ; i ++) cout << a[i] << " ";//从小到大
    puts("");
    sort(a,a+10,cmp);
    for(int i = 0 ; i < 10 ; i ++) cout << a[i] << " ";//从大到小
    return 0;
}

结构体排序

#include<iostream>
#include<algorithm>

using namespace std; 

struct node
{
    int a ;
    int b ;
    double c ;
};

bool cmp(node x,node y){
    if(x.a!=y.a) return x.a > y.a ;//降序
    if(x.b!=y.b) return x.b < y.b ;//升序
    return x.c > y.c ;
}

int main(){
    node arr[5] ;
    for(int i = 0 ; i < 5 ;i ++)
    {
        cin >> arr[i].a >> arr[i].b >> arr[i].c ;
    }   
    cout << "=========================" << endl ;
    sort(arr,arr+5,cmp);
    for(int i = 0 ; i < 5 ;i ++)
        cout << arr[i].a << " " <<arr[i].b << " " <<arr[i].c <<endl ;
}