📌  相关文章
📜  stl 对数组进行反向排序 - C++ (1)

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

使用 STL 对数组进行反向排序 - C++

在 C++ 中,STL(Standard Template Library)是一种强大的库,它包含许多算法和容器,可以轻松地对数组进行排序和其他操作。

在本教程中,我们将演示如何使用 STL 对数组进行反向排序。反向排序是一种逆序排列数组的方法,即从大到小排序数组。

步骤 1 - 包含必要的头文件

我们需要包含以下头文件:

#include <iostream>
#include <algorithm>
步骤 2 - 声明和初始化数组

我们将创建一个名为 my_arr 的整数数组,并将其初始化为 {5, 6, 2, 1, 4, 3}。代码如下:

int my_arr[] = {5, 6, 2, 1, 4, 3};
步骤 3 - 使用 STL 排序函数反向排序数组

现在,我们将使用 STL 的 sort() 函数对数组进行反向排序。将数组作为 sort() 函数的第一个参数,并将第二个参数设置为 greater<int>()。这告诉 sort() 函数使用 greater<int>() 函数比较数组中的元素,并按逆序排列。

以下是完整的反向排序代码:

#include <iostream>
#include <algorithm>

int main() {
    int my_arr[] = {5, 6, 2, 1, 4, 3};
    int arr_size = sizeof(my_arr) / sizeof(my_arr[0]);
    
    std::sort(my_arr, my_arr + arr_size, std::greater<int>());
    
    for (int i = 0; i < arr_size; i++) {
        std::cout << my_arr[i] << " ";
    }
    
    return 0;
}

在上述代码中, arr_size 是数组的大小,我们将其计算为 sizeof(my_arr) / sizeof(my_arr[0])

步骤 4 - 运行代码并输出结果

在运行代码后,输出结果应该是 6 5 4 3 2 1

恭喜!你已经学会了使用 STL 对数组进行反向排序。