#include<iostream>
#include<vector>
#include<algorithm>
#include<string.h>
using namespace std;
struct stu{
int id, score;
char name[10];
};
int c;
bool cmp(stu a,stu b){
if(c==1) return a.id<b.id;
if(c==2) {
if(strcmp(a.name,b.name)!=0)return strcmp(a.name, b.name) <= 0;
else return a.id<b.id;
}
if(c==3) {
if(a.score!=b.score)return a.score<=b.score;
else return a.id<b.id;
}
}
int main(){
int n;
cin>>n>>c;
vector<stu> s(n);
for(int i=0;i<n;i++){
cin>>s[i].id>>s[i].name>>s[i].score;
}
sort(s.begin(),s.end(),cmp);
for(int i=0;i<n;i++){
printf("%06d %s %d\n",s[i].id,s[i].name,s[i].score);
}
system("pause");
return 0;
}
PAT1028 List Sorting (25 分) 结构体比较排序cmp
最新推荐文章于 2024-06-21 16:02:57 发布