1. 程式人生 > >ACM零起點2017-7-25(sort用過載運算子對結構體排序)

ACM零起點2017-7-25(sort用過載運算子對結構體排序)

上篇文章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;
}