关于sort()函数编写cmp函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28606665/article/details/76269735


sort()函数中,一般是用于数组中整形数据的排序,但是  遇见结构体中有多个整形数据,sort的功能就开始迷糊了,所以我们需要在结构体中定下需要比较哪组,

第一:sort(begin,begin+n)

第二:利用cmp进行倒序,升序;

bool compare(int a,int b)
{
      return a<b;   //升序排列,

如果改为return a>b,则为降序

}

sort(a,a+20,compare);

另一种表现方法

struct node
{
    int c;
    int d;
    bool operator < (node &b)
    {
        return d < b.d ;
    }
} sst[10111111];

sort(a,a+20)

稍微解释一下:布尔型的重载用operator   对“>”进行重载,(代码是进行的升序),return解释一下吧,第一个c是代表结构体中需要比较的那个数,后面的是代表任意的一个,

不知道这样讲明白不明白,其实我也不太清楚。有疑问欢迎交流。Q:690217293

猜你喜欢

转载自blog.csdn.net/qq_28606665/article/details/76269735
今日推荐