merge sort is a stable sort, parallelizes better, and is more efficient at handling slow-to-access sequential media. Merge sort is often the best choice for sorting a linked list: in this situation...
Statistically both MergeSort and QuickSort have the same average case time: O(nlog(n)); However there are various differences.
Most implementations of Mergesort, require additional scratch space,...
quicksort should be O(n^2), but merge sort should be O(nlogn).but if you can modify partition algorithm with checking all values same in array from p to r, it could be O(nlogn).