溫馨提示×

如何自定義C++中的sort比較函數

c++
小樊
127
2024-08-07 15:57:26
欄目: 編程語言

在C++中,可以使用函數指針或者Lambda表達式來自定義sort函數的比較函數。

使用函數指針:

bool customCompare(int a, int b) {
    // 自定義比較函數
    return a < b;
}

int main() {
    vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
    sort(nums.begin(), nums.end(), customCompare);
    // 輸出排序后的數組
    for (int num : nums) {
        cout << num << " ";
    }
    return 0;
}

使用Lambda表達式:

int main() {
    vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
    sort(nums.begin(), nums.end(), [](int a, int b) {
        // 自定義比較函數
        return a < b;
    });
    // 輸出排序后的數組
    for (int num : nums) {
        cout << num << " ";
    }
    return 0;
}

以上代碼分別使用了函數指針和Lambda表達式來自定義比較函數,并將數組按照指定的比較函數進行排序。通過修改比較函數的實現,可以實現不同的排序方式。

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