Insert an Element in the Middle of an Array

Rumman Ansari   Software Engineer   2024-10-20 06:13:44   130  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

In Java, inserting an element in the middle of an array involves a few steps. Since arrays have a fixed size, you can't directly insert an element without creating a new array with a larger size. Here’s how you can do it:

Steps to Insert an Element in the Middle of an Array

  1. Create a new array with a size that is one greater than the original array.
  2. Copy the elements from the original array to the new array, stopping at the index where you want to insert the new element.
  3. Insert the new element at the desired index.
  4. Copy the remaining elements from the original array to the new array.

Example Code

Here’s a complete Java program demonstrating how to insert an element in the middle of an array:

<span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">InsertInMiddleArray</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// Original array</span><span class="pln">
        </span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> originalArray </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">20</span><span class="pun">,</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="lit">40</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> elementToInsert </span><span class="pun">=</span><span class="pln"> </span><span class="lit">25</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Element to insert</span><span class="pln">
        </span><span class="kwd">int</span><span class="pln"> position </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Index at which to insert (middle)</span><span class="pln">

        </span><span class="com">// Call the method to insert the element</span><span class="pln">
        </span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> newArray </span><span class="pun">=</span><span class="pln"> insertInMiddle</span><span class="pun">(</span><span class="pln">originalArray</span><span class="pun">,</span><span class="pln"> elementToInsert</span><span class="pun">,</span><span class="pln"> position</span><span class="pun">);</span><span class="pln">

        </span><span class="com">// Print the new array</span><span class="pln">
        </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"New array after insertion:"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> num </span><span class="pun">:</span><span class="pln"> newArray</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">num </span><span class="pun">+</span><span class="pln"> </span><span class="str">" "</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> insertInMiddle</span><span class="pun">(</span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> array</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> element</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> position</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// Create a new array with size one greater than the original</span><span class="pln">
        </span><span class="kwd">int</span><span class="pun">[]</span><span class="pln"> newArray </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="kwd">int</span><span class="pun">[</span><span class="pln">array</span><span class="pun">.</span><span class="pln">length </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">];</span><span class="pln">

        </span><span class="com">// Copy elements from the original array to the new array</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">&lt;</span><span class="pln"> position</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            newArray</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="com">// Insert the new element at the specified position</span><span class="pln">
        newArray</span><span class="pun">[</span><span class="pln">position</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> element</span><span class="pun">;</span><span class="pln">

        </span><span class="com">// Copy the remaining elements from the original array</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> position </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">&lt;</span><span class="pln"> newArray</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            newArray</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">[</span><span class="pln">i </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">];</span><span class="pln"> </span><span class="com">// Shift elements to the right</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> newArray</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Return the new array</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

Explanation of the Code

  1. Original Array: We start with an array containing some initial elements.
  2. Insert Method: The insertInMiddle method takes the original array, the element to insert, and the position where the element should be inserted.
  3. New Array Creation: We create a new array that is one element larger than the original array.
  4. Copying Elements: We use a loop to copy elements before the insertion point and then place the new element at the specified position.
  5. Remaining Elements: We copy the remaining elements from the original array, adjusting the index since we have inserted a new element.
  6. Output: Finally, we print the new array to confirm that the element was inserted correctly.

Output

When you run the program, you will get the following output:

<span class="pln">
</span><span class="typ">New</span><span class="pln"> array after insertion</span><span class="pun">:</span><span class="pln">
</span><span class="lit">10</span><span class="pln"> </span><span class="lit">20</span><span class="pln"> </span><span class="lit">25</span><span class="pln"> </span><span class="lit">30</span><span class="pln"> </span><span class="lit">40</span><span class="pln"> </span><span class="lit">50</span><span class="pln"> 
</span>

This shows that the element 25 was successfully inserted in the middle of the original array.



No Questions Data Available.
No Program Data.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.