Нет «самой быстрой сортировки», это зависит от данных.
Например, для данных, которые уже отсортированы, самая быстрая сортировка - пузырьковая сортировка: вы ничего не перемещаете и, просто прочитав ввод, вы знаете, что все готово. Даже для данных, которые почти отсортированы, есть случаи, в которых (как ни удивительно) вариант алгоритма пузырьковой сортировки является очень разумным выбором (например, средство рендеринга строки сканирования на основе связанного списка, когда многие значения x обновляются небольшими количествами из одной строки сканирования). к следующему).
Сортировка ведра в некоторых случаях является очень хорошим выбором, но только если ключ маленький или его можно разбить на не слишком много маленьких кусочков (не всегда так).
Для быстрой сортировки и вариаций используется случайный выбор, чтобы избежать наихудших сценариев, и используется только сравнение между ключами (что всегда доступно). Это хороший выбор по умолчанию, если о данных известно немного, и он помещается в оперативную оперативную память.
В зависимости от ситуации вы можете минимизировать сравнения или минимизировать свопы. Это не одно и то же.
Если данные слишком велики для быстрой памяти, а произвольный доступ ко всему набору проблематичен, то сортировка слиянием, вероятно, является хорошим кандидатом.
...
Другими словами, это зависит от: -)
Ваш тестовый пример сортировки массива маленьких целых чисел не очень распространен в моем опыте.