Program to copy the contents of one array into another in the reverse order

Given an array, the task is to copy these array elements into another array in reverse array.
Examples: 

Input: array: 1 2 3 4 5 
Output: 5 4 3 2 1
Input: array: 10 20 30 40 50
Output: 50 40 30 20 10

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Let len be the length of original array. We copy every element original_arr[i] to copy_arr[n-i-1] to get reverse in copy_arr[]. 

C++




// C program to copy the contents
// of one array into another
// in the reverse order
 
#include <stdio.h>
 
// Function to print the array
void printArray(int arr[], int len)
{
    int i;
    for (i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }
}
 
// Driver code
int main()
{
    int original_arr[] = {1, 2, 3, 4, 5};
    int len = sizeof(original_arr)/sizeof(original_arr[0]);
 
    int copied_arr[len], i, j;
    
    // Copy the elements of the array
    // in the copied_arr in Reverse Order
    for (i = 0; i < len; i++) {
        copied_arr[i] = original_arr[len - i - 1];
    }
 
    // Print the original_arr
    printf("\nOriginal array: ");
    printArray(original_arr, len);
 
    // Print the copied array
    printf("\nResultant array: ");
    printArray(copied_arr, len);
 
    return 0;
}


Java




// Java program to copy the contents
// of one array into another
// in the reverse order
class GFG {
 
// Function to print the array
static void printArray(int arr[], int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        System.out.printf("%d ", arr[i]);
    }
}
 
// Driver code
public static void main(String[] args)
{
    int original_arr[] = {1, 2, 3, 4, 5};
    int len = original_arr.length;
    int copied_arr[] = new int[len], i, j;
     
    // Copy the elements of the array
    // in the copied_arr in Reverse Order
    for (i = 0; i < len; i++)
    {
        copied_arr[i] = original_arr[len - i - 1];
    }
 
    // Print the original_arr
    System.out.printf("\nOriginal array: ");
    printArray(original_arr, len);
 
    // Print the copied array
    System.out.printf("\nResultant array: ");
    printArray(copied_arr, len);
    }
}
 
// This code is contributed by
// PrinciRaj1992


Python3




# Python3 program to copy the contents of one
# array into another in the reverse order
import math as mt
 
# Function to print the array
def printArray(arr, Len):
 
    for i in range(Len):
        print(arr[i], end = " ")
     
# Driver code
original_arr = [1, 2, 3, 4, 5]
Len = len(original_arr)
 
copied_arr = [0 for i in range(Len)]
 
# Copy the elements of the array
# in the copied_arr in Reverse Order
for i in range(Len):
    copied_arr[i] = original_arr[Len - i - 1]
 
# Print the original_arr
print("Original array: ", end = "")
printArray(original_arr, Len)
 
# Print the copied array
print("\nResultant array: ", end = "")
printArray(copied_arr, Len)
 
# This code is contributed by
# Mohit kumar 29


C#




// C# program to copy the contents
// of one array into another
// in the reverse order
using System;
class GFG
{
 
// Function to print the array
static void printArray(int []arr, int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        Console.Write(arr[i]);
    }
}
 
// Driver code
public static void Main()
{
    int []original_arr = {1, 2, 3, 4, 5};
    int len = original_arr.Length;
    int []copied_arr = new int[len];
    int i;
     
    // Copy the elements of the array
    // in the copied_arr in Reverse Order
    for (i = 0; i < len; i++)
    {
        copied_arr[i] = original_arr[len - i - 1];
    }
 
    // Print the original_arr
    Console.Write("\nOriginal array: ");
    printArray(original_arr, len);
 
    // Print the copied array
    Console.Write("\nResultant array: ");
    printArray(copied_arr, len);
    }
}
 
// This code is contributed by Rajput-Ji


Javascript




<script>
 
// JavaScript program to copy the contents
// of one array into another
// in the reverse order
 
// Function to print the array
function printArray(arr, len)
{
    var i;
    for (i = 0; i < len; i++) {
        document.write( arr[i] + " ");
    }
}
 
// Driver code
var original_arr = [1, 2, 3, 4, 5];
var len = original_arr.length;
var copied_arr = Array(len), i, j;
 
// Copy the elements of the array
// in the copied_arr in Reverse Order
for (i = 0; i < len; i++) {
    copied_arr[i] = original_arr[len - i - 1];
}
// Print the original_arr
document.write("Original array: ");
printArray(original_arr, len);
 
// Print the copied array
document.write("<br>Resultant array: ");
printArray(copied_arr, len);
 
 
</script>


PHP




<?php
// PHP program to copy the contents
// of one array into another
// in the reverse order
 
// Function to print the array
function printArray($arr, $len)
{
    for ($i = 0; $i < $len; $i++)
    {
        echo $arr[$i], " ";
    }
}
 
// Driver code
$original_arr = array(1, 2, 3, 4, 5);
$len = sizeof($original_arr);
 
$copied_arr = array();
 
// Copy the elements of the array
// in the copied_arr in Reverse Order
for ($i = 0; $i < $len; $i++)
{
    $copied_arr[$i] = $original_arr[$len - $i - 1];
}
 
// Print the original_arr
echo "Original array: ";
printArray($original_arr, $len);
 
// Print the copied array
echo "\nResultant array: ";
printArray($copied_arr, $len);
 
// This code is contributed by Ryuga
?>


Output

Original array: 1 2 3 4 5 
Resultant array: 5 4 3 2 1





Time Complexity: O(len)

Auxiliary Space: O(len)

Approach: Using the reversed() function

Steps:

  • First declare an integer array arr and initialize it.
  • Then use the sizeof operator to determine the size of the array.
  • store it in a variable.
  • Declare another integer array reverse_arr & with the same size as arr.
  • then use for loop to iterate over the elements arr.
  • copy them into reverse_arr in reverse order.
  • Use the expression size-i-1 to calculate the index of the corresponding element in reverse_arr.
  • use another for loop to print the elements of reverse_arr to the console.

Below is the code implementation for the above approach:

C++




#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
    int arr[] = { 10 ,20, 30, 40, 50 };
    int size = sizeof(arr)/sizeof(arr[0]);
 
    int reverse_arr[size];
    for(int i=0; i<size; i++) {
        reverse_arr[size-i-1] = arr[i];
    }
 
    for(int i=0; i<size; i++) {
        cout <<reverse_arr[i]<<" ";
    }
    return 0;
}


Java




import java.util.Arrays;
 
public class Main {
    public static void main(String[] args)
    {
        int[] arr = { 10, 20, 30, 40, 50 };
        int size = arr.length;
 
        int[] reverseArr = new int[size];
 
        // Reversing the array
        for (int i = 0; i < size; i++) {
            reverseArr[size - i - 1] = arr[i];
        }
 
        // Printing the reversed array
        System.out.print("Reversed array: ");
        for (int i = 0; i < size; i++) {
            System.out.print(reverseArr[i] + " ");
        }
    }
}


Python3




arr = [10, 20, 30, 40, 50]
size = len(arr)
reverse_arr = [0] * size
for i in range(size):
    reverse_arr[size - i - 1] = arr[i]
for i in range(size):
    print(reverse_arr[i], end=" ")


C#




using System;
 
class GFG
{
    static void Main()
    {
        // Given array in C++: int arr[] = { 10 ,20, 30, 40, 50 };
        int[] arr = { 10, 20, 30, 40, 50 };
 
        // Calculate the size of the array
        int size = arr.Length;
 
        // Create a new array to store the reversed elements
        int[] reverseArr = new int[size];
 
        // Loop through the original array and reverse its elements
        for (int i = 0; i < size; i++)
        {
            // In C++, reverse_arr[size-i-1] = arr[i];
            // In C#, reverseArr[size-i-1] is equivalent to reverse_arr[size-i-1] in C++
            reverseArr[size - i - 1] = arr[i];
        }
 
        // Display the reversed array
         
        for (int i = 0; i < size; i++)
        {
            // In C++, cout << reverse_arr[i] << " ";
            // In C#, Console.Write(reverseArr[i] + " ") is equivalent to cout << reverse_arr[i] << " " in C++
            Console.Write(reverseArr[i] + " ");
        }
 
        // Pause the console so the output is visible
        Console.ReadLine();
    }
}


Javascript




console.log("Hello, World!");
 
const arr = [10, 20, 30, 40, 50];
const size = arr.length;
 
const reverse_arr = [];
for(let i = 0; i < size; i++) {
    reverse_arr[size - i - 1] = arr[i];
}
 
for(let i = 0; i < size; i++) {
    console.log(reverse_arr[i] + " ");
}


Output

50 40 30 20 10 





Time Complexity: O(n)

Auxiliary Space: O(n)