题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/3f27a0a5a59643a8abf0140b9a8cf1f7

#include <bits/stdc++.h>
using namespace std;
map<int, int> m;
pair<int, int> one;
vector<pair<int, int>> v;
int main() {
    int N;
    while (cin >> N) {
        while (N--) {
            //利用map对key值(学号)进行默认的升序排序
            cin >> one.first >> one.second;
            m.insert(one);
        }
        //map的数据转移到vector进行value值(分数)的排序
        v.assign(m.begin(), m.end());
        stable_sort(v.begin(), v.end(), [](const pair<int, int>& a,
        const pair<int, int>& b) {
            return a.second < b.second; //升序
        });
        //输出
        for (auto it : v) {
            cout << it.first << " " << it.second << endl;
        }
    }
}

全部评论

相关推荐

昨天 19:03
门头沟学院 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务