📜  使用内置排序函数按降序对数组进行排序 - C++ (1)

📅  最后修改于: 2023-12-03 15:36:38.249000             🧑  作者: Mango

使用内置排序函数按降序对数组进行排序 - C++

在C++中,我们可以使用标准库函数 sort 对一个数组进行排序。而且,sort 函数默认按升序排列。如果我们想要按降序排列,则需要传递一个比较函数作为第三个参数。

代码实现

下面是一个使用 sort 函数按降序对数组进行排序的示例代码:

#include <iostream>
#include <algorithm>

int main()
{
    int arr[] = {6, 2, 8, 4, 5, 1, 3, 9, 7};

    // 计算数组的长度
    int length = sizeof(arr) / sizeof(arr[0]);

    // 使用 lambda 表达式定义一个比较函数
    auto cmp = [](int a, int b) {
        return a > b;
    };

    // 按降序排序
    std::sort(arr, arr + length, cmp);

    // 输出排序完成后的数组
    std::cout << "按降序排序后的数组为:\n";
    for (int i = 0; i < length; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}
解析
  1. 定义了一个 int 类型的数组 arr,用来存储待排序的数据。
  2. 计算数组的长度:sizeof(arr) / sizeof(arr[0])
  3. 使用 lambda 表达式定义一个比较函数,使得 sort 函数以降序的方式来排序。
  4. 调用 sort 函数,用来对数组按降序进行排序。
  5. 输出排序完成后的数组。
总结

使用内置排序函数按降序对数组进行排序可以通过自定义比较函数来实现。这样,在实际开发中,我们就可以通过修改比较函数的逻辑来实现各种不同的排序需求。