📅  最后修改于: 2023-12-03 15:10:09.815000             🧑  作者: Mango
本篇介绍如何在 C++ 中按降序对向量进行排序。
C++ STL 中的 sort()
函数可以用于对数组、向量等容器进行排序。其默认是按升序排序,即从小到大。其函数原型如下:
void sort( RandomIt first, RandomIt last );
其中,RandomIt
是一个随机访问迭代器类型,first
和 last
分别是待排序区间的开始和结束位置。
为了按降序排序,需要提供一个比较函数,在比较函数中将前者与后者进行比较。如果前者应该排在后者之前,则返回 true
,否则返回 false
。接下来的代码演示了如何按降序排序一个整型向量:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
// 按降序排列
return a > b;
}
int main() {
vector<int> vec{4, 2, 1, 3, 5};
sort(vec.begin(), vec.end(), cmp);
for (int i : vec) {
cout << i << ' ';
}
cout << endl;
return 0;
}
上述代码将输出 5 4 3 2 1
,即按降序排序后的向量。
本篇介绍了如何在 C++ 中按降序对向量进行排序。需要在 sort()
函数中提供一个比较函数,指定比较方式。