Delete an Element from a Given Position in an Array (original) (raw)

Last Updated : 08 Nov, 2024

Given an array of integers, the task is to delete an element from a **given position in the array.

**Examples:

**Input: arr[] = [10, 20, 30, 40], pos = 1
**Output: [20, 30, 40]

**Input: arr[] = [10, 20, 30, 40], pos = 2
**Output: [10, 30, 40]

**Input: arr[] = [10, 20, 30, 40], pos = 4
**Output: [10, 20, 30]

Table of Content

[Approach 1] Using Built-In Methods

We will use library methods like **erase() in C++, **remove() in Java, **del in Python, **removeAt() in C# and **splice() in JavaScript.

C++ `

// C++ program to delete an element from a given
// position in an array

#include #include using namespace std;

int main() { vector arr = { 10, 20, 30, 40 }; int pos = 2;

cout << "Array before deletion\n";
for (int i = 0; i < arr.size(); i++)
    cout << arr[i] << " ";

  // Delete the element at the given position
arr.erase(arr.begin() + pos - 1);

cout << "\nArray after deletion\n";
for (int i = 0; i < arr.size(); i++)
    cout << arr[i] << " ";

return 0;

}

Java

// Java program to delete an element from a given
// position of an array

import java.util.*;

class GfG { public static void main(String[] args) { ArrayList arr = new ArrayList (Arrays.asList(10, 20, 30, 40)); int pos = 2;

    System.out.println("Array before deletion");
    for (int i = 0; i < arr.size(); i++)
        System.out.print(arr.get(i) + " ");

    // Delete the element at the specified position
    arr.remove(pos - 1);

    System.out.println("\nArray after deletion");
    for (int i = 0; i < arr.size(); i++)
        System.out.print(arr.get(i) + " ");
}

}

Python

Python program to delete an element from a given

position of an array

arr = [10, 20, 30, 40] pos = 2

print("Array before deletion") for num in arr: print(num, end=" ")

Delete the element at the specified position

del arr[pos - 1]

print("\nArray after deletion") for num in arr: print(num, end=" ")

C#

// C# program to delete an element from a given
// position of an array

using System; using System.Collections.Generic;

class GfG { static void Main() { List arr = new List { 10, 20, 30, 40 }; int pos = 2;

    Console.WriteLine("Array before deletion");
    foreach (int num in arr)
        Console.Write(num + " ");

    // Delete the element at the specified position
    arr.RemoveAt(pos - 1);

    Console.WriteLine("\nArray after deletion");
    foreach (int num in arr)
        Console.Write(num + " ");
}

}

JavaScript

// JavaScript program to delete an element from a given
// position of an array

let arr = [10, 20, 30, 40]; let pos = 2;

console.log("Array before deletion"); console.log(arr)

// Delete the element at the specified position arr.splice(pos - 1, 1);

console.log("Array after deletion"); console.log(arr);

`

Output

Array before deletion 10 20 30 40 Array after deletion 10 30 40

**Time Complexity: O(n), where **n is the size of array.
**Auxiliary Space: O(1)

[Approach 2] Using Custom Method

The idea is to shift all the elements occurring after the given position, one index to the left and reduce the size of the array by 1.

C++ `

// C++ program to delete an element from a given
// position in an array using custom method

#include #include using namespace std;

int main() { vector arr = { 10, 20, 30, 40 }; int n = arr.size(); int pos = 2;

cout << "Array before deletion\n";
for (int i = 0; i < n; i++)
    cout << arr[i] << " ";

  // Delete the element at the given position
for(int i = pos; i < n; i++) {
    arr[i - 1] = arr[i];
}

if(pos <= n)
    n--;


cout << "\nArray after deletion\n";
for (int i = 0; i < n; i++)
    cout << arr[i] << " ";

return 0;

}

C

// C program to delete an element from a given
// position in an array using custom method

#include <stdio.h>

int main() { int arr[] = { 10, 20, 30, 40 }; int n = sizeof(arr)/sizeof(arr[0]); int pos = 2;

printf("Array before deletion\n");
for (int i = 0; i < n; i++) {
    printf("%d ", arr[i]);
}

// Delete the element at the given position
for (int i = pos; i < n; i++) {
    arr[i - 1] = arr[i];
}

if (pos <= n)
    n--;

printf("\nArray after deletion\n");
for (int i = 0; i < n; i++) {
    printf("%d ", arr[i]);
}

return 0;

}

Java

// Java program to delete an element from a given
// position in an array using custom method

class GfG { public static void main(String[] args) { int[] arr = { 10, 20, 30, 40 }; int n = arr.length; int pos = 2;

    System.out.println("Array before deletion");
    for (int i = 0; i < n; i++) {
        System.out.print(arr[i] + " ");
    }

    // Delete the element at the given position
    for (int i = pos; i < n; i++) {
        arr[i - 1] = arr[i];
    }

    if (pos <= n) {
        n--;
    }

    System.out.println("\nArray after deletion");
    for (int i = 0; i < n; i++) {
        System.out.print(arr[i] + " ");
    }
}

}

Python

Python program to delete an element from a given

position in an array using custom method

if name == "main": arr = [10, 20, 30, 40] n = len(arr) pos = 2

print("Array before deletion")
for i in range(n):
    print(arr[i], end=" ")

# Delete the element at the given position
for i in range(pos, n):
    arr[i - 1] = arr[i]

if pos <= n:
    n -= 1

print("\nArray after deletion")
for i in range(n):
    print(arr[i], end=" ")

C#

// C# program to delete an element from a given
// position in an array using custom method

using System;

class GfG { static void Main() { int[] arr = { 10, 20, 30, 40 }; int n = arr.Length; int pos = 2;

    Console.WriteLine("Array before deletion");
    for (int i = 0; i < n; i++) {
        Console.Write(arr[i] + " ");
    }

    // Delete the element at the given position
    for (int i = pos; i < n; i++) {
        arr[i - 1] = arr[i];
    }

    if (pos <= n)
        n--;

    Console.WriteLine("\nArray after deletion");
    for (int i = 0; i < n; i++) {
        Console.Write(arr[i] + " ");
    }
}

}

JavaScript

// JavaScript program to delete an element from a given // position in an array using custom method

let arr = [ 10, 20, 30, 40 ]; let pos = 2; let n = arr.length;

console.log("Array before deletion"); for (let i = 0; i < n; i++) { console.log(arr[i]); }

// Delete the element at the given position for (let i = pos; i < n; i++) { arr[i - 1] = arr[i]; }

if (pos <= n) { n--; }

console.log("\nArray after deletion"); for (let i = 0; i < n; i++) { console.log(arr[i]); }

`

Output

Array before deletion 10 20 30 40 Array after deletion 10 30 40

**Time Complexity: O(n), where **n is the size of array.
**Auxiliary Space: O(1)