Definition of stable sorting:
A sorting algorithm is described as stable if equal elements are
in the same relative order in the sorted sequence as in the original sequence.
1. Insertion sort is stable.
When A[j] is inserted into the already sorted sequence A[1],...A[j-1],
only elements A[i]>A[j] are shifted right to make room for A[j].
Thus A[j] is never inserted before an A[i]<=A[j].
2. Merge sort is stable if the merging procedure
    gives priority to elements in the first list.