Skip to content
Related Articles

Related Articles

Replace every element of the array by its previous element

View Discussion
Improve Article
Save Article
Like Article
  • Last Updated : 11 May, 2022

Given an array arr, the task is to replace each element of the array with the element that appears before it and replace the first element with -1
Examples: 
 

Input: arr[] = {5, 1, 3, 2, 4} 
Output: -1 5 1 3 2
Input: arr[] = {6, 8, 32, 12, 14, 10, 25 } 
Output: -1 6 8 32 12 14 10 
 

 

Approach: Traverse the array from n – 1 to 1 and update arr[i] = arr[i-1]. In the end set a[0] = -1 and print the contents of the updated array.
Below is the implementation of the above approach: 
 

C++




// C++ program to replace every element of the array
// with the element that appears before it
#include <bits/stdc++.h>
using namespace std;
 
// Function to print the array after replacing every element
// of the array with the element that appears before it
void updateArray(int arr[], int n)
{
    // Update array
    for (int i = n - 1; i > 0; i--)
        arr[i] = arr[i - 1];
 
    // Change the first element to -1
    arr[0] = -1;
 
    // Print the updated array
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
}
 
// Driver program
int main()
{
    int arr[] = { 5, 1, 3, 2, 4 };
    int N = sizeof(arr) / sizeof(arr[0]);
    updateArray(arr, N);
    return 0;
}

C




// C program to replace every element of the array
// with the element that appears before it
#include <stdio.h>
 
// Function to print the array after replacing every element
// of the array with the element that appears before it
void updateArray(int arr[], int n)
{
    // Update array
    for (int i = n - 1; i > 0; i--)
        arr[i] = arr[i - 1];
 
    // Change the first element to -1
    arr[0] = -1;
 
    // Print the updated array
    for (int i = 0; i < n; i++)
      printf("%d ",arr[i]);
}
 
// Driver program
int main()
{
    int arr[] = { 5, 1, 3, 2, 4 };
    int N = sizeof(arr) / sizeof(arr[0]);
    updateArray(arr, N);
    return 0;
}
 
// This code is contributed by kothavvsaakash.

Java




// Java program to replace every element
// of the array with the element that
// appears before it
class GFG
{
 
// Function to print the array after
// replacing every element of the
// array with the element that appears
// before it
static void updateArray(int arr[], int n)
{
    // Update array
    for (int i = n - 1; i > 0; i--)
        arr[i] = arr[i - 1];
 
    // Change the first element to -1
    arr[0] = -1;
 
    // Print the updated array
    for (int i = 0; i < n; i++)
        System.out.print(arr[i] + " ");
}
 
// Driver Code
public static void main(String []args)
{
    int arr[] = { 5, 1, 3, 2, 4 } ;
    int N = arr.length ;
    updateArray(arr, N);
}
}
 
// This code is contributed by Ryuga

Python3




# Python 3 program to replace every element
# of the array with the element that appears
# before it
 
# Function to print the array after replacing
# every element of the array with the element
# that appears before it
def updateArray(arr, n):
     
    # Update array
    i = n - 1
    while(i > 0):
        arr[i] = arr[i - 1]
        i -= 1
 
    # Change the first element to -1
    arr[0] = -1
 
    # Print the updated array
    for i in range(0, n, 1):
        print(arr[i], end = " ")
 
# Driver Code
if __name__ == '__main__':
    arr = [5, 1, 3, 2, 4]
    N = len(arr)
    updateArray(arr, N)
 
# This code is contributed by
# Surendra_Gangwar

C#




// C# program to replace every element
// of the array with the element that
// appears before it
using System;
 
class GFG
{
 
// Function to print the array after
// replacing every element of the
// array with the element that appears
// before it
static void updateArray(int[] arr, int n)
{
    // Update array
    for (int i = n - 1; i > 0; i--)
        arr[i] = arr[i - 1];
 
    // Change the first element to -1
    arr[0] = -1;
 
    // Print the updated array
    for (int i = 0; i < n; i++)
        Console.Write(arr[i] + " ");
}
 
// Driver Code
public static void Main()
{
    int[] arr = { 5, 1, 3, 2, 4 } ;
    int N = arr.Length ;
    updateArray(arr, N);
}
}
 
// This code is contributed
// by Akanksha Rai

PHP




<?php
// PHP program to replace every element
// of the array with the element that
// appears before it
 
// Function to print the array after
// replacing every element of the array
// with the element that appears before it
function updateArray($arr, $n)
{
    // Update array
    for ($i = $n - 1; $i > 0; $i--)
        $arr[$i] = $arr[$i - 1];
 
    // Change the first element to -1
    $arr[0] = -1;
 
    // Print the updated array
    for ($i = 0; $i < $n; $i++)
        echo $arr[$i] ," ";
}
 
// Driver Code
$arr = array(5, 1, 3, 2, 4 );
$N = sizeof($arr);
updateArray($arr, $N);
 
// This code is contributed
// by Sach_Code
?>

Javascript




<script>
// Java script program to replace every element
// of the array with the element that
// appears before it
 
// Function to print the array after
// replacing every element of the
// array with the element that appears
// before it
function updateArray(arr,n)
{
    // Update array
    for (let i = n - 1; i > 0; i--)
        arr[i] = arr[i - 1];
 
    // Change the first element to -1
    arr[0] = -1;
 
    // Print the updated array
    for (let i = 0; i < n; i++)
        document.write(arr[i] + " ");
}
 
// Driver Code
 
    let arr =[ 5, 1, 3, 2, 4 ];
    let N = arr.length ;
    updateArray(arr, N);
 
// This code is contributed by sravan kumar G
</script>

Output: 

-1 5 1 3 2

 

Time Complexity : O(n)
 Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!