Arrays January 13 ,2026

Delete an Element from a Given Position in an Array

Problem Statement

Given an array of n elements, delete the element present at a specified position.

  • The array uses 0-based indexing
  • The position must be in the range 0 to n-1
  • After deletion, all elements to the right of the deleted element must be shifted one position to the left

Example 1

Input

arr = [1, 2, 3, 4, 5]
position = 2

Output

[1, 2, 4, 5]

Explanation

  • Element at index 2 is 3
  • After deleting 3, remaining elements shift left

Example 2

Input

arr = [10, 20, 30, 40]
position = 0

Output

[20, 30, 40]

Explanation

  • First element is removed
  • All remaining elements move one position left

Why This Problem Is Important

  • Tests array indexing and shifting logic
  • Commonly asked in coding interviews
  • Builds a foundation for:
    • Dynamic array operations
    • Memory-efficient data handling
    • List and buffer manipulation

Approaches to Solve the Problem

  1. Manual Shifting (Core Logic – Interview Preferred)
  2. Using Built-in Methods (Language Optimized)

Approach 1: Manual Shifting (Core Logic)

Idea

  1. Start from the deletion position
  2. Shift each element one position to the left
  3. Reduce the array size by one

Algorithm

  1. For i = position to n-2
    • arr[i] = arr[i + 1]
  2. Decrease array size by 1
  3. Print the updated array

Time and Space Complexity

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

C Implementation

#include<stdio.h> 

int main() {
    int arr[100] = {1, 2, 3, 4, 5};
    int n = 5;
    int position = 2;

    for(int i = position; i < n - 1; i++) {
        arr[i] = arr[i + 1];
    }

    n--;

    printf("Array after deletion: ");
    for(int i = 0; i < n; i++)
        printf("%d ", arr[i]);

    return 0;
}

C++ Implementation (Manual)

#include<iostream> 
using namespace std;

int main() {
    int arr[10] = {1, 2, 3, 4, 5};
    int n = 5;
    int position = 2;

    for(int i = position; i < n - 1; i++)
        arr[i] = arr[i + 1];

    n--;

    cout << "Array after deletion: ";
    for(int i = 0; i < n; i++)
        cout << arr[i] << " ";
}

Java Implementation (Manual)

public class DeleteElement {
    public static void main(String[] args) {
        int[] arr = new int[10];
        arr[0]=1; arr[1]=2; arr[2]=3; arr[3]=4; arr[4]=5;
        int n = 5;
        int position = 2;

        for(int i = position; i < n - 1; i++)
            arr[i] = arr[i + 1];

        n--;

        System.out.print("Array after deletion: ");
        for(int i = 0; i < n; i++)
            System.out.print(arr[i] + " ");
    }
}
Delete Element In Array | C Programming | Questions Bank | UK Academe

Approach 2: Using Built-in Methods

Useful in real-world applications, but manual logic is preferred in interviews

Python Implementation

arr = [1, 2, 3, 4, 5]
position = 2

arr.pop(position)
print("Array after deletion:", arr)

C++ (STL Vector)

#include<iostream>
#include<vector> 
using namespace std;

int main() {
    vector arr = {1, 2, 3, 4, 5};
    arr.erase(arr.begin() + 2);

    cout << "Array after deletion: ";
    for(int x : arr) cout << x << " ";
}

C# Implementation

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List arr = new List {1,2,3,4,5};
        arr.RemoveAt(2);

        Console.Write("Array after deletion: ");
        foreach(int x in arr) Console.Write(x + " ");
    }
}

JavaScript Implementation

let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1);

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

Dry Run (Manual Approach)

StepArray StateExplanation
Initial[1,2,3,4,5]Original array
Shift[1,2,4,4,5]Shift elements left
Resize[1,2,4,5]Reduce size

Summary

  • Deletion requires left shifting of elements
  • Manual approach tests core array logic
  • Built-in methods simplify implementation

Key Points

  • Time Complexity: O(n)
  • Space Complexity: O(1)
  • Index validation is important to avoid errors

Next Problem in the Series

Find the Index of an Element in an array

 

Sanjiv
0

You must logged in to post comments.

Get In Touch

Kurki bazar Uttar Pradesh

+91-8808946970

techiefreak87@gmail.com