Program to copy the contents of one array into another in the reverse order
Last Updated :
09 Sep, 2023
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
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++
#include <stdio.h>
void printArray( int arr[], int len)
{
int i;
for (i = 0; i < len; i++) {
printf ( "%d " , arr[i]);
}
}
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;
for (i = 0; i < len; i++) {
copied_arr[i] = original_arr[len - i - 1];
}
printf ( "\nOriginal array: " );
printArray(original_arr, len);
printf ( "\nResultant array: " );
printArray(copied_arr, len);
return 0;
}
|
Java
class GFG {
static void printArray( int arr[], int len)
{
int i;
for (i = 0 ; i < len; i++)
{
System.out.printf( "%d " , arr[i]);
}
}
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;
for (i = 0 ; i < len; i++)
{
copied_arr[i] = original_arr[len - i - 1 ];
}
System.out.printf( "\nOriginal array: " );
printArray(original_arr, len);
System.out.printf( "\nResultant array: " );
printArray(copied_arr, len);
}
}
|
Python3
import math as mt
def printArray(arr, Len ):
for i in range ( Len ):
print (arr[i], end = " " )
original_arr = [ 1 , 2 , 3 , 4 , 5 ]
Len = len (original_arr)
copied_arr = [ 0 for i in range ( Len )]
for i in range ( Len ):
copied_arr[i] = original_arr[ Len - i - 1 ]
print ( "Original array: " , end = "")
printArray(original_arr, Len )
print ( "\nResultant array: " , end = "")
printArray(copied_arr, Len )
|
C#
using System;
class GFG
{
static void printArray( int []arr, int len)
{
int i;
for (i = 0; i < len; i++)
{
Console.Write(arr[i]);
}
}
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;
for (i = 0; i < len; i++)
{
copied_arr[i] = original_arr[len - i - 1];
}
Console.Write( "\nOriginal array: " );
printArray(original_arr, len);
Console.Write( "\nResultant array: " );
printArray(copied_arr, len);
}
}
|
Javascript
<script>
function printArray(arr, len)
{
var i;
for (i = 0; i < len; i++) {
document.write( arr[i] + " " );
}
}
var original_arr = [1, 2, 3, 4, 5];
var len = original_arr.length;
var copied_arr = Array(len), i, j;
for (i = 0; i < len; i++) {
copied_arr[i] = original_arr[len - i - 1];
}
document.write( "Original array: " );
printArray(original_arr, len);
document.write( "<br>Resultant array: " );
printArray(copied_arr, len);
</script>
|
PHP
<?php
function printArray( $arr , $len )
{
for ( $i = 0; $i < $len ; $i ++)
{
echo $arr [ $i ], " " ;
}
}
$original_arr = array (1, 2, 3, 4, 5);
$len = sizeof( $original_arr );
$copied_arr = array ();
for ( $i = 0; $i < $len ; $i ++)
{
$copied_arr [ $i ] = $original_arr [ $len - $i - 1];
}
echo "Original array: " ;
printArray( $original_arr , $len );
echo "\nResultant array: " ;
printArray( $copied_arr , $len );
?>
|
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];
for ( int i = 0 ; i < size; i++) {
reverseArr[size - i - 1 ] = arr[i];
}
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()
{
int [] arr = { 10, 20, 30, 40, 50 };
int size = arr.Length;
int [] reverseArr = new int [size];
for ( int i = 0; i < size; i++)
{
reverseArr[size - i - 1] = arr[i];
}
for ( int i = 0; i < size; i++)
{
Console.Write(reverseArr[i] + " " );
}
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] + " " );
}
|
Time Complexity: O(n)
Auxiliary Space: O(n)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...