Внутренне говоря, который алгоритм (алгоритмы) PHP использует для реализации различных функций вида, которые он предлагает? Кажется, что usort варианты могли бы использовать другой алгоритм, чем созданный в видах, но я хотел знать.
Где я даже нашел бы эту информацию?
Спасибо!
Вы можете найти информацию, просмотрев руководство по php. http://php.net/sort говорит, что PHP использует реализацию Quicksort . В противном случае вы всегда можете пройтись по самому исходному коду PHP.
Для сортировки PHP использует реализацию быстрой сортировки, которую можно найти в Zend / zend_qsort.c
, которая принимает функцию сравнения и массив элементов. Функция сравнения по умолчанию для sort ()
определена в ext / standard / array.c
и называется php_array_data_compare ()
. По сути, это один и тот же алгоритм для всех функций сортировки, за исключением того, что они принимают разные функции сравнения.