1028 List Sorting (25)(25 分)

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int n, c;
const int maxn = 1e5 + 10;
struct node {
    char id[100], name[100];
    int score;
    
}a[maxn];
bool comp1(node&x, node&y)
{
    return strcmp(x.id, y.id) < 0;
}
bool comp2(node&x, node&y)
{
    return strcmp(x.name, y.name) == 0 ? strcmp(x.id, y.id) < 0 : strcmp(x.name, y.name) < 0;
}
bool comp3(node&x, node&y)
{
    return x.score == y.score ? strcmp(x.id, y.id) < 0 : x.score < y.score;
}
int main()
{
    scanf("%d%d", &n, &c);
    for (int i = 0; i < n; i++)
    {
        scanf("%s%s%d", a[i].id, a[i].name, &a[i].score);
    }
    if (c == 1)sort(a, a + n, comp1);
    else if (c == 2)sort(a, a + n, comp2);
    else sort(a, a + n, comp3);
    for (int i = 0; i < n; i++)
        printf("%s %s %d\n", a[i].id, a[i].name, a[i].score);
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容