Insertion Sort is an efficient algorithm for sorting a small number of elements. It is similar to sort a hand of playing cards.

Playing a card is one of the techniques of sorting and in Insertion Sort we follow following steps.

– Start with an empty left hand and cards face down on the table.

– Then remove one card at a time from the table and Insert it into the correct position in the left hand.

– To find a correct position for a card, we compare it with each of the cards already in the hand from right to left.

In the same way, Insertion Sort works….The numbers that we wish to sort are  known as Keys. Although conceptually we are sorting a sequence, then input comes to us in the form of an array with n elements.

Pseudocode of Insertion Sort
INSERTION-SORT(A)
1.     for j = 2 to n
2.          key ← A [j]
3.          // Insert A[j] into the sorted sequence A[1..j-1]
4.          j ← i – 1
5.         while i > 0 and A[i] > key
6.                 A[i+1] ← A[i]
7.                 i ← i – 1
8.         A[j+1] ← key

Let us take one example and see the Operations of Insertion Sort on the given Array. A= { 5 , 2, 4, 6, 1, 3}

I Hope you get the idea of how Insertion Sort Works 🙂