首页 > 学院 > 开发设计 > 正文

1028 List Sorting (25)

2019-11-06 09:21:56
字体:
来源:转载
供稿:网友

排序

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct stu { int id; char name[10]; int grade;};const int MAXN = 1e5+5;stu s[MAXN];bool cmp1(stu a, stu b) { return a.id < b.id;}bool cmp2(stu a, stu b) { int c = strcmp(a.name, b.name); if (!c) return a.id < b.id; else if (c < 0) return true; else return false;}bool cmp3(stu a, stu b) { if (a.grade == b.grade) return a.id < b.id; else return a.grade < b.grade;}int main() { int n, c; scanf("%d%d", &n, &c); for (int i = 0; i < n; i++) scanf("%d%s%d", &s[i].id, s[i].name, &s[i].grade); if (c == 1) sort(s, s+n, cmp1); else if (c == 2) sort(s, s+n, cmp2); else sort(s, s+n, cmp3); for (int i = 0; i < n; i++) PRintf("%06d %s %d/n", s[i].id, s[i].name, s[i].grade); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表