Reverse Order Array in CPP

In this c++ tutorial, we are going to discuss how to print an array in reverse order in O(n) time complexity and without using any temporary array. Let’s reverse an array in C++ without using any second array.

Print Array in Reverse Order in C++ without using another array

How to swap two values using a temporary variable

Suppose, we have to swap the value of variables a and b, as we directly can’t give the value of a to b and b to a.

So, we will use a third variable temp to swap value.

int temp;

temp=a; // temp will take the value of “a”, so “a” now become free

a=b;      // “a” will now take the value “b”, so “b” now become free




b=temp; // “b” will take the value temp which was initial value “b”

So, “b” has now the value of “a” and “a” has value of “b”.

Algorithm to reverse an array in C++

  • Take an array arr[] of size n.
  • For each index in array arr[] till half swap the value of the element at index i with n-i-1, like swapping the value of the first element with last element, second with second last.
  • Proceeding the above step till half the size of arr[] we will get final array in reverse order.

C++ code: printing an array in reverse order

#include<bits/stdc++.h>
using namespace std;

    void reverse(int arr[], int n)
  {
    int i,temp;
    
       for(i=0;i<n/2;i++)
     {
         temp=arr[i];
         
         arr[i]=arr[n-i-1];
         
         arr[n-i-1]=temp;
     }
  }

  int main()
{
    
    int n,i;
      cin>>n;
      
    int arr[n];
    
    for(i=0;i<n;i++)
      cin>>arr[i];
      
      reverse(arr,n);
      
      for(i=0;i<n;i++)
        cout<<arr[i]<<" ";
}

 

Example:

INPUT

1 2 3 4 5

OUTPUT

5 4 3 2 1

Learn more tutorials,


Leave a Reply

Your email address will not be published. Required fields are marked *