【发布时间】:2019-09-26 00:59:48
【问题描述】:
这是我排序后的输出vector of pair<int, char>:
6 X
6 E
6 C
5 D
4 D
4 B
2 A
但我希望它按整数降序排序,在整数相同的情况下按字母升序排序。像这样:
6 C
6 E
6 X
5 D
4 D
4 B
2 A
这是我的代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<pair<int, char>> v;
v.push_back(make_pair(5, 'D'));
v.push_back(make_pair(2, 'A'));
v.push_back(make_pair(6, 'C'));
v.push_back(make_pair(4, 'B'));
v.push_back(make_pair(4, 'D'));
v.push_back(make_pair(6, 'X'));
v.push_back(make_pair(6, 'E'));
sort(v.rbegin(), v.rend());
for (auto x: v)
cout << x.first << " " << x.second << endl;
return 0;
}
【问题讨论】:
标签: c++ algorithm sorting vector stl