# 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`