ACM零起點2017-7-25(sort用過載運算子對結構體排序)
阿新 • • 發佈:2019-01-05
上篇文章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;
}