# How to reverse an Array using STL in C++?

• Difficulty Level : Basic
• Last Updated : 28 Jul, 2022

Given an array arr[], reverse this array using STL in C++. Example:

```Input: arr[] = {1, 45, 54, 71, 76, 12}
Output: {12, 76, 71, 54, 45, 1}

Input: arr[] = {1, 7, 5, 4, 6, 12}
Output: {12, 6, 4, 5, 7, 1}```

Approach: Reversing can be done with the help of reverse() function provided in STL. Syntax:

```reverse(start_index, index_next_to_last_index);

For example to reverse an array arr[] of size 'n' we need to write as follows:
reverse(arr, arr+n);
if we observe it is reverse(arr+0, arr+n);
which means, the reverse function reverse the elements in an array from index-0 to index-(n-1)

Ex: Given an array arr of size 7
reverse(arr, arr+5);
The above reverse function reverses the elements in an array from index-0 to index-4```

## CPP

 `// C++ program to reverse Array``// using reverse() in STL` `#include ``#include ``using` `namespace` `std;` `int` `main()``{``    ``// Get the array``    ``int` `arr[] = { 1, 45, 54, 71, 76, 12 };` `    ``// Compute the sizes``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);` `    ``// Print the array``    ``cout << ``"Array: "``;``    ``for` `(``int` `i = 0; i < n; i++)``        ``cout << arr[i] << ``" "``;` `    ``// Reverse the array``    ``reverse(arr, arr + n);` `    ``// Print the reversed array``    ``cout << ``"\nReversed Array: "``;``    ``for` `(``int` `i = 0; i < n; i++)``        ``cout << arr[i] << ``" "``;``    ``return` `0;``}`

Output:

```Array: 1 45 54 71 76 12
Reversed Array: 12 76 71 54 45 1```

Time Complexity: O(N) where N is the size of the array.
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up