c++中sort配合结构体实现多条件排序

c++库函数里面自带排序算法sort,其格式为

sort(s,s+n);

sort默认是从小到大排序,如果要自定义排序方式需要再写一个函数

sort(s,s+n,cmp);

下面是一个自定义排序方式的例子,返回值为bool类型

struct student
{
 int sum;
 int num;
 int chinese;
};
bool cmp(student s1,student s2)//返回值不是true的,就交换 
{
 if(s1.sum!=s2.sum) return s1.sum>s2.sum;
 if(s1.chinese!=s2.chinese) return s1.chinese>s2.chinese;
 if(s1.num!=s2.num) return s1.num<s2.num;
}
int main()
{
    sort(stu,stu+n,cmp);
}
发布了37 篇原创文章 · 获赞 3 · 访问量 1175

猜你喜欢

转载自blog.csdn.net/qq_45721778/article/details/104693900