溫馨提示×

如何實現 C++ Set 的自動排序

c++
小樊
111
2024-08-09 01:08:39
欄目: 編程語言

C++中的Set數據結構是有序的,并且默認使用升序排序。如果你想要自定義排序規則,可以通過傳入自定義的比較函數來實現。

#include <iostream>
#include <set>

// 自定義比較函數
struct CustomCompare {
    bool operator() (int a, int b) const {
        // 根據自定義的比較規則進行排序
        return a > b;
    }
};

int main() {
    // 使用自定義的比較函數
    std::set<int, CustomCompare> mySet = {1, 5, 3, 2, 4};

    // 遍歷輸出
    for (int num : mySet) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的例子中,我們定義了一個自定義比較函數CustomCompare,并將其作為第二個模板參數傳入std::set<int, CustomCompare>中。這樣就可以實現按照自定義的排序規則對Set進行排序。

如果不提供自定義比較函數,則Set會默認使用元素的operator<進行排序。

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