Arrays January 13 ,2026

Insert an Element at a Given Position in an Array

Problem Statement

Given an array of n elements, insert a new element at a specified position.

  • The array follows 0-based indexing
  • Valid positions range from 0 to n
  • All elements after the given position must be shifted one position to the right

Example 1

Input

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

Output

[1, 2, 10, 3, 4, 5]

Explanation

  • Element 10 is inserted at index 2
  • Elements 3, 4, 5 shift one position to the right

Example 2

Input

arr = [7, 8, 9]
element = 5
position = 0

Output

[5, 7, 8, 9]

Explanation

  • Insertion at index 0
  • All elements move one position right

Why This Problem Is Important

  • Tests array indexing and shifting
  • Common in technical interviews
  • Builds understanding of manual array manipulation
  • Foundation for problems like:
    • Insert in sorted array
    • Array rotation
    • Dynamic array operations

Approaches to Solve the Problem

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

Approach 1: Manual Shifting (Core Logic)

Idea

  1. Start from the last element
  2. Shift elements one position to the right
  3. Insert the new element at the given position

Algorithm

  1. Traverse array from index n-1 to position
  2. Move each element to the right
  3. Place the new element at position
  4. Increase array size by 1

Time & Space Complexity

  • Time Complexity: O(n)
  • Space Complexity: O(1) (if extra space exists)

C Implementation

#include<stdio.h> 

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

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

    arr[position] = element;
    n++;

    printf("Array after insertion: ");
    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, element = 10, position = 2;

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

    arr[position] = element;
    n++;

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

Java Implementation (Manual)

public class InsertElement {
    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, element = 10, position = 2;

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

        arr[position] = element;
        n++;

        System.out.print("Array after insertion: ");
        for(int i = 0; i < n; i++)
            System.out.print(arr[i] + " ");
    }
}
C Program To Insert New Element At Specified Position of An Array

Approach 2: Using Built-in Methods

Best for real-world applications, but interviews prefer manual logic

Python Implementation

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

arr.insert(position, element)
print("Array after insertion:", arr)

C++ (STL Vector)

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

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

    cout << "Array after insertion: ";
    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.Insert(2, 10);

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

JavaScript Implementation

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

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

Dry Run (Manual Approach)

StepArray StateExplanation
Initial[1,2,3,4,5]Original array
Shift[1,2,3,3,4,5]Shift elements
Insert[1,2,10,3,4,5]Insert element

Summary

  • Insertion requires shifting elements
  • Manual approach is important for interviews
  • Built-in methods are useful for production code

Key Takeaways

  • Time Complexity → O(n)
  • Space Complexity → O(1) or O(n)
  • Indexing accuracy is critical

Next Problem in the Series

Delete an Element from a Given Position
 

Sanjiv
0

You must logged in to post comments.

Get In Touch

Kurki bazar Uttar Pradesh

+91-8808946970

techiefreak87@gmail.com