溫馨提示×

如何在C++中使用less進(jìn)行排序

c++
小樊
81
2024-09-14 09:24:46
欄目: 編程語言

在C++中,std::sort()函數(shù)可以用于對容器(如vector、array等)進(jìn)行排序

#include<iostream>
#include<vector>
#include<algorithm> // 包含 std::sort() 和 std::less<>

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

    // 使用 std::less<> 對 numbers 進(jìn)行升序排序
    std::sort(numbers.begin(), numbers.end(), std::less<int>());

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

    return 0;
}

上述代碼首先定義了一個包含整數(shù)的std::vector。然后,我們使用std::sort()函數(shù)對其進(jìn)行排序。std::sort()函數(shù)接受三個參數(shù):要排序的范圍的起始迭代器、結(jié)束迭代器和一個比較函數(shù)。在這里,我們使用std::less<int>()作為比較函數(shù),表示按照升序排列。

運(yùn)行此程序?qū)⑤敵雠判蚝蟮恼麛?shù)序列:1 2 3 4 5

注意:如果你想按降序排列,可以使用std::greater<>代替std::less<>。例如:

std::sort(numbers.begin(), numbers.end(), std::greater<int>());

這將按降序?qū)?code>numbers進(jìn)行排序。

0