首页 > 代码库 > 1028. List Sorting (25)
1028. List Sorting (25)
1 #include <vector> 2 #include <stdio.h> 3 #include <string.h> 4 #include <algorithm> 5 using namespace std; 6 7 struct MyStruct 8 { 9 char ID[7];10 char name[9];11 int grade;12 };13 14 int cmp1(MyStruct a,MyStruct b)15 {16 return (strcmp(a.ID,b.ID)<0);17 }18 19 int cmp2(MyStruct a,MyStruct b)20 {21 if(strcmp(a.name,b.name)==0) return (strcmp(a.ID,b.ID)<0);22 else return strcmp(a.name,b.name)<0;23 }24 25 26 int cmp3(MyStruct a,MyStruct b)27 {28 if(a.grade==b.grade) return (strcmp(a.ID,b.ID)<0);29 else return a.grade<b.grade;30 }31 32 33 int main()34 {35 int n,c,i;36 while(scanf("%d %d",&n,&c)!=EOF)37 {38 vector <MyStruct> vv;39 for(i=0;i<n;i++)40 {41 MyStruct tem;42 getchar();43 scanf("%s %s %d",tem.ID,tem.name,&tem.grade);44 vv.push_back(tem);45 }46 if(c==1)47 sort(vv.begin(),vv.end(),cmp1);48 if(c==2)49 sort(vv.begin(),vv.end(),cmp2);50 if(c==3)51 sort(vv.begin(),vv.end(),cmp3);52 53 for(i=0;i<n;i++)54 printf("%s %s %d\n",vv[i].ID,vv[i].name,vv[i].grade);55 56 }57 return 0;58 }
1028. List Sorting (25)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。