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
#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 << "Array: " ;
for ( int i = 0; i < n; i++)
cout << arr[i] << " " ;
reverse(arr, arr + n);
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)