题解 | 成绩排序
#include <bits/stdc++.h> using namespace std; struct st{ int id; int score; bool operator <(st a){ if(score==a.score)return id<a.id; else return score<a.score; } }; int main(){ int n; while(cin>>n){ st a[n]; for(int i=0;i<n;i++){ cin>>a[i].id>>a[i].score; } sort(a,a+n); for(auto x:a){ cout<<x.id<<" "<<x.score<<endl; } } }
自定义稍复杂的比较写法测试