📜  按降序对向量进行排序 - C++ (1)

📅  最后修改于: 2023-12-03 15:10:09.815000             🧑  作者: Mango

按降序对向量进行排序 - C++

本篇介绍如何在 C++ 中按降序对向量进行排序。

sort() 函数

C++ STL 中的 sort() 函数可以用于对数组、向量等容器进行排序。其默认是按升序排序,即从小到大。其函数原型如下:

void sort( RandomIt first, RandomIt last );

其中,RandomIt 是一个随机访问迭代器类型,firstlast 分别是待排序区间的开始和结束位置。

为了按降序排序,需要提供一个比较函数,在比较函数中将前者与后者进行比较。如果前者应该排在后者之前,则返回 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() 函数中提供一个比较函数,指定比较方式。