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 <algorithm> #include <iostream> 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[0]);
// 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)