91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++遍歷set怎樣實現自定義排序

c++
小樊
81
2024-11-23 04:52:09
欄目: 編程語言

在C++中,你可以使用std::set容器來存儲已經按照自定義排序規則排序的元素。要實現自定義排序,你需要提供一個比較函數或者重載<運算符。下面是兩種實現自定義排序的方法:

方法1:提供比較函數

#include <iostream>
#include <set>

// 自定義排序函數
bool customCompare(int a, int b) {
    return a < b; // 從小到大排序
}

int main() {
    std::set<int, decltype(&customCompare)> mySet(customCompare);

    mySet.insert(5);
    mySet.insert(3);
    mySet.insert(8);
    mySet.insert(1);

    for (const auto& element : mySet) {
        std::cout << element << " ";
    }

    return 0;
}

方法2:重載<運算符

#include <iostream>
#include <set>

// 自定義排序類
struct CustomCompare {
    bool operator()(int a, int b) const {
        return a < b; // 從小到大排序
    }
};

int main() {
    std::set<int, CustomCompare> mySet;

    mySet.insert(5);
    mySet.insert(3);
    mySet.insert(8);
    mySet.insert(1);

    for (const auto& element : mySet) {
        std::cout << element << " ";
    }

    return 0;
}

在這兩個示例中,我們都創建了一個包含整數的std::set,并使用自定義排序規則對元素進行排序。在第一個示例中,我們提供了一個比較函數customCompare,而在第二個示例中,我們定義了一個重載了<運算符的結構體CustomCompare。在這兩種情況下,輸出結果都是按照升序排列的元素:1 3 5 8。

0
蒲江县| 赫章县| 阿拉善右旗| 固始县| 红原县| 陆良县| 太白县| 德保县| 双城市| 利辛县| 湘西| 东莞市| 宁武县| 和田县| 遵义市| 慈溪市| 哈密市| 沂源县| 同仁县| 新乡县| 高雄市| 吴川市| 庄浪县| 洪泽县| 荔浦县| 双柏县| 房山区| 哈尔滨市| 灵山县| 阿坝县| 姚安县| 固安县| 忻州市| 阜阳市| 巨野县| 乐业县| 微山县| 嘉善县| 车险| 宜君县| 天门市|