1028. List Sorting (25)

来源:互联网 发布:keras tensorflow 编辑:程序博客网 时间:2024/06/03 19:35
#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<vector>#include<queue>#include<algorithm>using namespace std;#define maxsize 100001#define  min(a,b) a<b?a:bstruct record{int num;char str[9];int grade;};bool cmp1(record a,record b){return a.num<b.num;}bool cmp2(record a,record b){        if(strcmp(a.str,b.str)==0)return a.num<b.num;return strcmp(a.str,b.str)<0;}bool cmp3(record a,record b){     if(a.grade==b.grade)return a.num<b.num;    return a.grade<b.grade;}int main(){int n,c;int i;record *a;a=(record *)malloc(sizeof(struct record)*1000001);scanf("%d%d",&n,&c);for( i=0;i<n;i++)scanf("%d%s%d",&a[i].num,a[i].str,&a[i].grade);record s;int j; switch(c) { case 1: sort(a,a+n,cmp1); break; case 2:            sort(a,a+n,cmp2); break; case 3: sort(a,a+n,cmp3); break; } for(i=0;i<n;i++) printf("%06d %s %d\n",a[i].num,a[i].str,a[i].grade);return 0;}


0 0