c++

C++ sort()如何选择比较函数

小樊
106
2024-07-18 14:45:26
栏目: 编程语言

在C++中,sort()函数可以使用比较函数来自定义排序规则。比较函数是一个可以接受两个参数的函数,其中第一个参数是要比较的元素的引用,第二个参数是另一个要比较的元素的引用。比较函数应该返回一个布尔值,表示第一个参数是否应该排在第二个参数之前。

当调用sort()函数时,可以通过传递一个比较函数作为第三个参数来指定排序规则。比较函数可以是自定义的函数,也可以是lambda表达式。

例如,如果要对一个整数数组进行降序排序,可以使用以下比较函数:

bool compare(int a, int b) {
    return a > b;
}

int main() {
    int arr[] = {5, 2, 7, 1, 9};
    int n = sizeof(arr) / sizeof(arr[0]);

    sort(arr, arr + n, compare);

    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }

    return 0;
}

在上面的例子中,compare()函数将两个整数作为参数,并返回a是否大于b,从而实现了降序排序。传递compare函数给sort()函数,即可按照指定的规则对数组进行排序。

0
看了该问题的人还看了