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

溫馨提示×

C++ stable_sort的自定義比較函數如何編寫

c++
小樊
85
2024-08-19 22:03:33
欄目: 編程語言

要編寫自定義比較函數來使用 stable_sort 函數進行穩定排序,我們需要定義一個函數,該函數接受兩個參數并返回一個布爾值,用于指示哪個元素應排在前面。

以下是一個示例代碼,演示如何編寫一個自定義比較函數來對字符串長度進行穩定排序:

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>

// 自定義比較函數,按字符串長度進行排序
bool compareLength(const std::string& str1, const std::string& str2) {
    return str1.length() < str2.length();
}

int main() {
    std::vector<std::string> strings = {"apple", "banana", "orange", "kiwi", "pear"};

    std::cout << "Before sorting:" << std::endl;
    for (const auto& str : strings) {
        std::cout << str << " ";
    }
    std::cout << std::endl;

    // 使用自定義比較函數進行穩定排序
    std::stable_sort(strings.begin(), strings.end(), compareLength);

    std::cout << "After sorting by length:" << std::endl;
    for (const auto& str : strings) {
        std::cout << str << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的示例中,我們定義了一個名為 compareLength 的自定義比較函數,該函數接受兩個參數,即兩個字符串的引用,然后比較它們的長度并返回比較結果。在 main 函數中,我們使用 stable_sort 函數并傳入自定義比較函數,對 strings 向量進行穩定排序。排序后,我們打印出排序前后的結果,以驗證排序是否正確。

通過編寫類似上面的代碼,您可以自定義比較函數來對各種類型的數據進行穩定排序。

0
焉耆| 台北市| 无锡市| 肇源县| 海丰县| 林芝县| 河西区| 巴林右旗| 新密市| 德庆县| 桃园县| 阜康市| 楚雄市| 三穗县| 恩平市| 浏阳市| 分宜县| 福海县| 鹤峰县| 维西| 兴宁市| 沙河市| 平舆县| 兰溪市| 富宁县| 青河县| 和平区| 灌云县| 商城县| 北辰区| 多伦县| 蚌埠市| 望江县| 昌黎县| 安阳县| 漳平市| 阿拉善右旗| 泾源县| 陵川县| 时尚| 武功县|