Это может быть тривиально, но я не понимаю, почему стандартная реализация Selection Sort нестабильна?
На каждой итерации вы найдете минимальный элемент в оставшемся массиве. Найдя этот минимум, вы можете выбрать первый минимум, который вы найдете, и обновлять его только тогда, когда элемент на самом деле меньше его. Таким образом, выбранный элемент на каждой итерации является первым минимумом, то есть первым в предыдущем порядке сортировки. Итак, по моему мнению, текущий сорт не уничтожит порядок, созданный предыдущим типом, на равных элементах.
Что мне не хватает?