C++ sort lambda怎樣實(shí)現(xiàn)降序排序

c++
小樊
103
2024-07-19 02:18:37

在使用lambda表達(dá)式進(jìn)行降序排序時(shí),可以使用std::sort函數(shù)并傳入一個(gè)lambda表達(dá)式作為排序準(zhǔn)則。下面是一個(gè)示例代碼,實(shí)現(xiàn)對(duì)一個(gè)vector容器中的元素進(jìn)行降序排序:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec = {5, 2, 9, 1, 3};

    // 使用lambda表達(dá)式進(jìn)行降序排序
    std::sort(vec.begin(), vec.end(), [](int a, int b) {
        return a > b; // 降序排序
    });

    // 輸出排序結(jié)果
    for (int num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的代碼中,通過(guò)lambda表達(dá)式[](int a, int b) { return a > b; }指定了降序排序的準(zhǔn)則,即如果a大于b則返回true,否則返回false。將這個(gè)lambda表達(dá)式傳入std::sort函數(shù)中,就可以實(shí)現(xiàn)對(duì)vector容器中的元素進(jìn)行降序排序。最終輸出結(jié)果為9 5 3 2 1

0