Skip to content
Related Articles

Related Articles

Improve Article

Java Program for Recursive Insertion Sort

  • Last Updated : 12 Jan, 2018

Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.
Below is an iterative algorithm for insertion sort


// Sort an arr[] of size n
insertionSort(arr, n) 
    Loop from i = 1 to n-1.
       a) Pick element arr[i] and insert
          it into sorted sequence arr[0..i-1] 


// Recursive Java program for insertion sort
import java.util.Arrays;
public class GFG
    // Recursive function to sort an array using
    // insertion sort
    static void insertionSortRecursive(int arr[], int n)
        // Base case
        if (n <= 1)
        // Sort first n-1 elements
        insertionSortRecursive( arr, n-1 );
        // Insert last element at its correct position
        // in sorted array.
        int last = arr[n-1];
        int j = n-2;
        /* Move elements of arr[0..i-1], that are
          greater than key, to one position ahead
          of their current position */
        while (j >= 0 && arr[j] > last)
            arr[j+1] = arr[j];
        arr[j+1] = last;
    // Driver Method
    public static void main(String[] args)
        int arr[] = {12, 11, 13, 5, 6};
        insertionSortRecursive(arr, arr.length);

Please refer complete article on Recursive Insertion Sort for more details!

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up
Recommended Articles
Page :