结构体排序拿捏
2026-01-12 19:28:59
发布于:四川
1阅读
0回复
0点赞
使用结构体排序 最初的时候没看到从小到大
#include <bits/stdc++.h>
using namespace std;
struct b{
string name;
int a;
int c;
}z[1000000];
bool cmp(b x,b y){
string o=x.name;
string p=y.name;
if(x.a!=y.a){
return x.a>y.a;
}
if(x.c!=y.c){
return x.c<y.c;
}
if(o.size()>p.size()){
return o.size()>p.size();
}
if(o!=p){
return o>p;
}
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>z[i].name>>z[i].a>>z[i].c;
}
sort(z,z+n,cmp);
for(int i=0;i<n;i++){
cout<<z[i].name<<endl;
}
}



这里空空如也

有帮助,赞一个