溫馨提示×

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

c++
小樊
188
2024-08-07 15:58:21
欄目: 編程語言

在C++中,sort函數的比較函數cmp可以通過定義一個函數對象或者Lambda表達式來實現。比較函數cmp需要返回一個bool值,用于指定排序的順序。

下面是一個使用函數對象定義比較函數cmp的示例:

struct cmp {
    bool operator()(int a, int b) {
        return a < b;
    }
};

int main() {
    vector<int> vec = {3, 1, 4, 1, 5, 9};
    sort(vec.begin(), vec.end(), cmp());
    for (int num : vec) {
        cout << num << " ";
    }
    return 0;
}

下面是一個使用Lambda表達式定義比較函數cmp的示例:

int main() {
    vector<int> vec = {3, 1, 4, 1, 5, 9};
    sort(vec.begin(), vec.end(), [](int a, int b) {
        return a < b;
    });
    for (int num : vec) {
        cout << num << " ";
    }
    return 0;
}

在上面的示例中,比較函數cmp都是按照升序排序的規則來定義的。根據實際需要,可以修改比較函數cmp以實現不同的排序規則。

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