c++

如何自定义C++中的sort比较函数

小樊
92
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
看了该问题的人还看了