Fast and stable merge sort algorithm that uses O(1) memory