Insertion sort is an efficient algorithm for sorting a small number of elements, which costs O(n2).
The
operation of INSERTION-SORT on the array A = 〈5, 2, 4, 6, 1, 3〉. Array
indices appear above the rectangles, and values stored in the array positions
appear within the rectangles. (a)-(e) The iterations of the for
loop of lines 1-8. In each iteration, the black
rectangle holds the key taken from A[j], which is compared with the values in shaded rectangles to
its left in the test of line 5. Shaded arrows show array values moved one
position to the right in line 6, and black arrows indicate where the key is
moved to in line 8. (f) The final sorted array.