下面是一个示例代码,使用C++语言实现了按照第二个元素排序向量对,当第二个元素相等时,按照第一个元素降序排序的功能:
#include
#include
#include
bool compare(const std::pair& a, const std::pair& b) {
if (a.second != b.second) {
return a.second < b.second;
}
return a.first > b.first;
}
int main() {
std::vector> vec{{1, 2}, {3, 4}, {5, 2}, {6, 1}, {4, 2}};
// 使用自定义的比较函数对向量进行排序
std::sort(vec.begin(), vec.end(), compare);
// 打印排序后的结果
for (const auto& pair : vec) {
std::cout << "(" << pair.first << ", " << pair.second << ") ";
}
return 0;
}
输出结果为:(3, 4) (5, 2) (4, 2) (1, 2) (6, 1)
,符合要求的排序结果。
上一篇:按照第二个元素进行排序