中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
青河县| 定兴县| 金阳县| 盐山县| 乐清市| 沧源| 连南| 石屏县| 宁乡县| 万年县| 乳山市| 博野县| 阳新县| 隆化县| 三原县| 卢湾区| 石首市| 库车县| 黄梅县| 通江县| 北川| 军事| 龙岩市| 万州区| 宜兰县| 西城区| 鹿泉市| 沁源县| 江华| 咸阳市| 会泽县| 丰台区| 南开区| 文安县| 彭水| 天全县| 荣成市| 富川| 称多县| 辰溪县| 涞源县|