Быстрая сортировка работает намного быстрее сортировки выбором.
Разберем пример:
1. Выбрать опорный элемент.
2. Разделить массив на два под массива: элементы, меньшие опорного,
и элементы, большие опорного.
3. Рекурсивно применить быструю сортировку к двум под массивам.
Помним что пустой массив и массив с одним элементом сортировать не нужно, его мы просто возвращаем - базовый случай. А массивы из двух элементов, сравниваем между собой и меняем местами если нужно. Возвращаем результат.
Ссылка на исходный код https://github.com/Bla2Code/QuickSorting/blob/develop/index.php