如何使用C++中的STL反转数组

如何使用C++中的STL反转数组

给定数组arr [],使用C++中的STL反转此数组。

示例:

输入:
arr [] = {1, 45, 54, 71, 76, 12}
输出:
{12, 76, 71, 54, 45, 1}

输入:
arr [] = {1, 7, 5, 4, 6, 12}
输出:
{12, 6, 4, 5, 7, 1}

方法: 可以使用STL中提供的 reverse() 函数来执行反转操作。

语法:

reverse(start_index, index_next_to_last_index);

例如,要反转大小为“n”的数组 arr [],我们需要编写以下代码:
reverse(arr, arr + n);
如果我们观察到它是 reverse(arr + 0,arr + n);
这意味着,reverse() 函数将数组中的元素从索引-0反转到索引-(n-1)。

例如,给定大小为7的数组 arr:
reverse(arr,arr+5);
上述 reverse() 函数将从索引-0到索引-4反转数组中的元素。

        // 使用STL中reverse()函数反转数组
        #include <algorithm>
        #include <iostream>
        using namespace std;

        int main()
        {
            // 获取数组
            int arr [] = { 1, 45, 54, 71, 76, 12 };

            // 计算数组大小
            int n = sizeof (arr) / sizeof (arr [0]);

            // 打印数组
            cout << "数组:";
            for (int i = 0; i < n; i++)
                cout << arr [i] << " ";

            // 反转数组
            reverse (arr,arr+n);

            // 打印反转后的数组
            cout <<",反转后的数组:";
            for (int i = 0; i < n; i++)
                cout << arr [i] << " ";
            return 0;
        }

输出:

  数组:1 45 54 71 76 12 
  反转后的数组:12 76 71 54 45 1

时间复杂度: O(N),其中 N 是数组的大小。

辅助空间: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程