# Java Program to Insert an Element in Array at Given Position

• Write a java program to insert an element in array at any given index using for loop.

In this java program, given an array of N elements, we have to insert an element at index i (0 <= i <= N-1) without using extra memory space. After insertion, the number of elements in array will increase by one. To insert an element at index i in array we have to shift all elements from index i to N-1 to next index.

For Example,
Input Array : [2 5 3 4 6 1 7]
Inserting 9 at index 4
Output Array : [2 5 3 4 9 6 1 7]
Algorithm to insert an element in an array
Let inputArray is an integer array of length N, which contains M (M<N) elements and S is the element that we want to insert at index I.
• Move all elements between index I to M-1 to next index(including index I and M-1).
• Move inputArray[j] to inputArray[j + 1], I <= j <= M-1.
• Insert S at inputArray[I].
• Now, inputArray contains M+1 elements from index 0 to M.
Time Complexity : O(n)

## Java program to insert an element in array at given index

In this java program, we first take number of elements in array as input fro user and store it in variable "count". Then we ask user to enter "count" numbers and store it in integer array "input". Then we ask user to enter number to be inserted(num) and at what position(index). By implementing above mentioned algorithm we insert "num" at "index" and print the array on screen using a for loop.

```package com.tcc.java.programs;

import java.util.Scanner;

/**
* Java Program to insert an element in array
*/
public class InsertArrayElement {

public static void main(String[] args) {
int count, i, num, index;
int input[] = new int[100];

Scanner scanner = new Scanner(System.in);
System.out.println("Enter Number of Elements in Array");
count = scanner.nextInt();

/*
* Take array input from user
*/
System.out.println("Enter " + count + " Numbers");
for (i = 0; i < count; i++) {
input[i] = scanner.nextInt();
}

System.out.println("Enter Number to be Inserted");
num = scanner.nextInt();
System.out.println("Enter Index of Insertion");
index = scanner.nextInt();

/*
* Insert "num" at index. First shift all element right of index by one
* position
*/
for (i = count; i > index; i--) {
input[i] = input[i - 1];
}
// inserting num at position "index"
input[index] = num;
// increment size of array
count++;

System.out.println("Final Array");
for (i = 0; i < count; i++) {
System.out.print(input[i] + " ");
}
}
}
```
Output
```Enter Number of Elements in Array
7
Enter 7 Numbers
1 2 3 4 5 6 7
Enter Number to be Inserted
9
Enter Index of Insertion
4
Final Array
1 2 3 4 9 5 6 7
```

Recommended Posts
 Java Program to Search an Element in an Array using Linear Search Java Program to Find Sum of Elements of an Array Java Program to Find Average of all Array Elements Java Program to Merge Two Sorted Arrays Java Program to Find Largest and Smallest Number in an Array Java Program to Find Duplicate Elements in an Array Java Program to Delete all Vowel Characters from String Java Program to Find Count of Each Character in a String Java Program to Find Length of a String Java Program to Reverse a String Java Program to Delete All Spaces from a String All Java Programs
 Previous Next