题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1

#include <iostream>
#include <algorithm>
using namespace std;
struct stu {//自定义结构体
    string name;
    int grade;
};
int descendCmp(stu a, stu b) {
    //注意,ab等值时不交换,在cmp返回时要去除==判断,否则报错
    //此时如果两个元素相等,则都返回false -> 相当于不用交换
    return a.grade > b.grade;
}
int ascendCmp(stu a, stu b) {
    return a.grade < b.grade;
}
int main() {
    int n, flag;
    while (cin >> n >> flag) {
        stu* student = new stu[n];
        for (int i = 0; i < n; i++) {
            cin >> student[i].name >> student[i].grade;
        }
        switch (flag) {
            case 0:
				//stable_sort()使用归并,是稳定的;sort()使用快排,不满足稳定要求
                stable_sort(student, student + n, descendCmp); break;
            case 1:
                stable_sort(student, student + n, ascendCmp); break;
            default: break;
        }
        for (int i = 0; i < n; i++) {
            cout << student[i].name << " " << student[i].grade<<endl;
        }
        delete []student;
    }
    return 0;
}

全部评论

相关推荐

图源网络侵权删
dddooola:这个事情我去年8月就看到有人b站(up:程序员正义)在举报了,可能一直在查,这次是查明后的处分了
点赞 评论 收藏
分享
神哥不得了:神哥来啦~自我评价和校园经历的话可以直接删了,从大厂暑期的话应该没有什么太多问题,应该是能拿到很多大厂面试机会的,就是在面试的时候表示的好一点就行,可以在面试前先把高频top 50的八股多巩固几遍,千万不要看那些假高频八股,这两个项目的话问题不是很大,应该能够帮你找到大厂实习的,算法的话一定要刷起来,因为大厂有些还是比较看重算法的
点赞 评论 收藏
分享
03-11 18:00
辽宁大学 安卓
这怎么还花钱买上了.....
不愿吃饼的变色龙很感性:没事,我不是目标院校,练花钱的机会都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务