Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort. However, insertion sort provides several advantage

How Insertion Sorting Works (http://www.studytonight.com/data-structures/insertion-sorting)