STL-sort之结构体排序

    xiaoxiao2021-03-26  23

    sort函数的三个参数

    第一个;开始值的地址

    第二个;结束值的地址

    第三个;排序的函数,若没有则默认为升序排列;记住函数return中大于为降序,小于为升序

    现在说对结构体数组的排序;

    #include<iostream>

    #include<algorithm>

    using namespacestd;

    struct node

    {

           int a;

           int b;

           double c;

    }arr[100];

    bool cmp(node x, node y)//要定义成bool形

    {

           if(x.a !=y.a)       return x.a < y.b;

           if(x.b != y.b)      return x.b > y.b;

           return x.c > y.c;

    }//先根据a升序排列若相等则根据b来降序排列 否则 按照c降序排列;

    sort(arr, arr+90,cmp);//直接加+90而不是作为下标

    转载请注明原文地址: https://ju.6miu.com/read-661467.html

    最新回复(0)