溫馨提示×

c++ set如何實現元素排序

c++
小樊
118
2024-11-16 15:45:43
欄目: 編程語言

在C++中,std::set是一個關聯容器,它會自動對元素進行排序。默認情況下,std::set使用std::less作為比較函數,這意味著它會按照升序對元素進行排序。如果你需要使用其他比較函數,可以傳遞一個自定義的比較對象或函數給std::set的構造函數。

以下是一個簡單的示例,展示了如何使用std::set對元素進行排序:

#include <iostream>
#include <set>

int main() {
    // 使用默認的比較函數(升序排序)
    std::set<int> my_set = {5, 1, 9, 3, 7};

    // 輸出排序后的元素
    for (const auto& element : my_set) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    // 使用自定義比較函數(降序排序)
    std::set<int, std::greater<int>> my_set2 = {5, 1, 9, 3, 7};

    // 輸出排序后的元素
    for (const auto& element : my_set2) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    return 0;
}

在這個示例中,我們首先創建了一個包含整數的std::set,并使用默認的比較函數對其進行升序排序。然后,我們創建了一個使用std::greater<int>作為比較函數的std::set,這將導致元素按降序排序。最后,我們遍歷并輸出排序后的元素。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女