The merge sort function needs to be able to save the current state of the list being sorted. This cannot be accomplished easily with a recursive merge sort function. An iterative or Bottom-Up merge sort function needs to be written. The function should also keep track of how many comparisons the user has left to make.