# Replace every element of the array by its previous element

• 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 = -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 ``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 = -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);``    ``updateArray(arr, N);``    ``return` `0;``}`

## C

 `// C program to replace every element of the array``// with the element that appears before it``#include ` `// 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 = -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);``    ``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 = -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

 ` 0; ``\$i``--)``        ``\$arr``[``\$i``] = ``\$arr``[``\$i` `- 1];` `    ``// Change the first element to -1``    ``\$arr`` = -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

 ``

Output:

`-1 5 1 3 2`

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

My Personal Notes arrow_drop_up