Splitting the problem into smaller tasks is the classic way of tackling problems such as this. If we can guarantee that a sub-list is sorted, then we can insert other records into that list in the correct positions fairly simply. To begin with we look at sub-list of length one. Clearly this will be in order as there is only one record. The next thing we do is look at the next record. This record will now be known as the pivot record. To explain how things will work we shall use an example. The shaded boxes are sorted.

The pivot record is placed into a temporary holding bay which produces a hole in the list. The next step is to insert the record into the sorted sub-list. The record in the temporary holding bay is compared to the first record in the sub-list. If it is less than that record then that record and all other records below it in the sorted sub-list are shifted down by one.

The sorted sub-list is now two records long. The pivot record moves down one and the whole process starts again.

Potato gets inserted at the end of the sorted sub-list. The pivot record moves again to the next record. Banana gets placed into the temporary holding bay and then gets inserted back into the sorted sub-list.

Banana is less than kiwi, as such the sub-list must be shifted down. Potato is moved into the hole leaving a hole in its place. Kiwi is then moved into this new hole leaving a hole for banana to go in. This goes on until the last record is inserted. The further through the algorithm we the larger the sorted sub-list becomes. So by the time all records have been considered the whole list would be sorted.