多关键字排出来的顺序

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

运行下面这段程序:

#include <algorithm>
#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <vector>
using namespace std;

struct Stu {
    string name;
    int score;
};

string stu_names(const vector<Stu>& v) {
    string s;
    for (size_t i = 0; i < v.size(); i++) s += (i ? "/" : "") + v[i].name;
    return s;
}

int main() {
    vector<Stu> v = {{"D", 75}, {"C", 90}, {"B", 75}, {"A", 90}};
    sort(v.begin(), v.end(), [](const Stu& a, const Stu& b) {
        if (a.score != b.score) return a.score > b.score;
        return a.name < b.name;
    });
    cout << stu_names(v) << endl;
}

(本题用 g++ -std=c++17 -O0 编译。)

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论
🔒 登录并作答后可看讨论