Какой алгоритм сортировки использует PHP?

Внутренне говоря, какой алгоритм использует PHP для реализации различных функций сортировки, которые он предлагает? Похоже, что варианты usort могут использовать другой алгоритм, чем встроенные, но я хотел знать.

Где я могу найти эту информацию?

Спасибо!

Ответ 1

Вы можете найти информацию, посмотрев руководство по php. http://php.net/sort говорит, что PHP использует реализацию Quicksort, В противном случае вы всегда можете протащить исходный код PHP.

Ответ 2

Для сортировки PHP использует реализацию quicksort, которая может быть найдена в Zend/zend_qsort.c, которая выполняет функцию сравнения и массив элементов, Функция сравнения по умолчанию для sort() определена в ext/standard/array.c и называется php_array_data_compare(). В принципе, это тот же алгоритм для всех функций сортировки, за исключением того, что они выполняют разные функции сравнения.

Ответ 3

IIRC, PHP использует быструю сортировку