ZnTor, Как и большинство функций сортировки в PHP, sort() использует реализацию алгоритма » быстрой сортировки. Основной элемент выбирается из середины сортируемой части, достигая таким образом оптимального времени для уже отсортированных массивов. Следует иметь в виду, что это является деталью реализации и не следует на нее полагаться.
Вредеман (16.09.2019 в 19:22)
Поцоны, задам его вопрос, не знаю, верный ответ или нет, если не верный - заранее сорян, считайте это просто "угадайкой"
=== ===
Какой алгоритм сортировки используется в сердце PHP для таких функций, как sort и тд?
Варианты ответов:
- нерекурсивный mergesort
- heapsort (вариация smoothsort Эдсгера Дейкстры)
- quicksort с разбиением по медиане из трех
- introsort
------
Используется introsort. Исходный код можно посмотреть на Гитхабе. В документации есть упоминание об использовании quicksort, но тут нет противоречия, ведь introsort — гибридный алгоритм сортировки, где при малом количестве элементов используется сортировка вставкой, а позже используется более быстрый алгоритм: quicksort или heapsort.