stable_sort 保住了谁
运行下面这段程序:
#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}};
stable_sort(v.begin(), v.end(), [](const Stu& a, const Stu& b) { return a.score > b.score; });
cout << stu_names(v) << endl;
}
(本题用 g++ -std=c++17 -O0 编译。)