ACM零起点2017-7-25(sort用重载运算符对结构体排序)

来源:互联网 发布:长沙哪里有学美工的 编辑:程序博客网 时间:2024/05/20 04:26

上篇文章http://blog.csdn.net/ccnuacmhdu/article/details/76039759

已经用写cmp函数的方式实现sort对结构体的 排序,下面是通过重载运算符的方式实现sort对结构体进行排序


#include<cstdio>

#include<algorithm>
using namespace std;


typedef struct
{
    int a;
    int b;
}node;


bool operator<(const node &n1,const node &n2)
{
    if(n1.a!=n2.a)
        return n1.a>n2.a;
    return n1.b>n2.b;
}


int main()
{
    node n[5];
    for(int i=0;i<5;i++)
    {
        n[i].a=i;
        n[i].b=20-i;
    }
    for(int i=0;i<5;i++)
        printf("a=%d b=%d\n",n[i].a,n[i].b);
    printf("\n");
    sort(n,n+5);
    for(int i=0;i<5;i++)
        printf("a=%d b=%d\n",n[i].a,n[i].b);
    return 0;
}
原创粉丝点击