用sort对结构体的简单排序

#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
struct Student{
    int a=0;
    int b=0;
}student[101];
bool cmp(const Student &c,const Student &d)
{
    if(c.a>d.a)
    {
        return 1;
    }
    else if(c.a==d.a)
    {
        return c.b>d.b;
    }
    return 0;
}
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>student[i].a>>student[i].b;
    }
    sort(student,student+n,cmp);
    for(int i=0;i<n;i++)
    {
        cout<<student[i].a<<student[i].b<<endl;
    }
}


猜你喜欢

转载自blog.csdn.net/qq_30754565/article/details/79718563