2010-07-02 13 views
24

Wewnętrznie, który algorytm (y) używa PHP do implementacji różnych funkcji sortowania, które oferuje? Wygląda na to, że warianty usort mogą używać innego algorytmu niż wbudowane, ale chciałem to wiedzieć.Jakiego algorytmu sortowania używa PHP?

Gdzie mogę znaleźć tę informację?

Dzięki!

Odpowiedz

34

Możesz znaleźć informacje, patrząc na podręcznik php. http://php.net/sort mówi, że PHP używa implementacji Quicksort. W przeciwnym razie zawsze możesz brnąć przez sam kod źródłowy PHP.

+0

d'oh, dzięki. Spojrzałem nawet na tę stronę i minąłem tę notatkę. –

0

IIRC, PHP wykorzystuje szybki Sortuj

19

do sortowania, PHP używa wdrożenie quicksort, które można znaleźć w Zend/zend_qsort.c, która przyjmuje funkcję porównywania i tablicę elementów. Domyślna funkcja porównania dla sort() jest zdefiniowana w ext/standard/array.c i nazywa się php_array_data_compare(). Zasadniczo jest to ten sam algorytm dla wszystkich funkcji sortowania, z wyjątkiem tego, że mają różne funkcje porównywania.

Powiązane problemy