直接在结构体里面确定排序关系#include<stdio.h>
#include<algorithm>
using namespace std;
struct node
{
int a,b;
friend bool operator < (node x,node y)
{
if(x.a==y.a)
return x.b>y.b;
return x.a<y.a;
}
}s[105];
int main()
{
int t;
while(~scanf("%d",&t))
{
for(int i=0;i<t;i++)
scanf("%d%d",&s[i].a,&s[i].b);
sort(s,s+t);
for(int i=0;i<t;i++)
printf("%d %d\n",s[i].a,s[i].b);
}
}
本文介绍了一种在C++中利用结构体实现自定义排序的方法。通过重载小于运算符(operator<),可以在结构体内直接定义排序逻辑,使得排序操作更为直观且高效。这种方法适用于需要根据多个字段进行排序的场景。
6463

被折叠的 条评论
为什么被折叠?



