Причиной использования сортировки слиянием является то, что им нужен стабильный алгоритм - например, где равные объекты (по compareTo()
или compare()
) находятся в том же относительном порядке, что и раньше.
Для примитивов равенство подразумевает «неразличимость». При сортировке от {5, 3, 5}
до {3, 5, 5}
не имеет значения, какая из пятерок была первой раньше.
Таким образом, мы можем использовать более быстрый (и нестабильный) алгоритм быстрой сортировки здесь.