Как сделать быструю сортировка массива на javascript
4 года назад
Человек-Молекула
Ответы
Быстрая сортировка, часто называемая qsort, один из самых быстрых известных универсальных алгоритмов сортировки массивов: в среднем имеет сложность O(n\log n) обменов при упорядочении n элементов. Из-за наличия ряда недостатков на практике обычно используется с некоторыми доработками. Не углубляясь в подробности рассмотрим простой вариант использующий рекурсию.
Алгоритм:
- Выбрать из массива элемент, называемый опорным. Это может быть любой из элементов массива.
- Сравнить все остальные элементы с опорным и переставить их в массиве так, чтобы разбить массив на три непрерывных отрезка, следующих друг за другом: «элементы меньшие опорного», «равные» и «большие».
- Для отрезков «меньших» и «больших» значений выполнить рекурсивно ту же последовательность операций, если длина отрезка больше единицы.
Реализация:
3 года назад
Вячеслав Межуревский
Для примера быстрой сортировки числового массива numbers
можно использовать встроенный метод Array.prototype.sort()
. Этот метод сортирует элементы массива в порядке возрастания или по алфавиту, если элементы являются строками. Однако, если нужно отсортировать массив в порядке убывания или по другому критерию, то можно передать в метод sort()
функцию сравнения.
Пример сортировки массива чисел в порядке возрастания:
Пример сортировки массива строк в порядке убывания:
2 года назад
Aleksey