2010-07-02 18 views
24

Hablando internamente, ¿qué algoritmo usa PHP para implementar las diversas funciones de clasificación que ofrece? Parece que las variantes de usort podrían usar un algoritmo diferente al construido en ordenamientos, pero yo quería saber.¿Qué algoritmo de clasificación usa PHP?

¿Dónde encontraría esta información?

Gracias!

Respuesta

34

Puede encontrar la información mirando el manual php. http://php.net/sort dice que PHP usa una implementación de Quicksort. De lo contrario, siempre se puede avanzar a través del código fuente de PHP en sí.

+0

d'oh, gracias. Incluso miré esa página y pasé por esa nota. –

0

IIRC, PHP utiliza tipo rápida

19

de clasificar, PHP usa una implementación de quicksort que se pueden encontrar en Zend/zend_qsort.c, que tiene una función de comparación y una serie de elementos. La función de comparación predeterminada para sort() se define en ext/standard/array.c y se llama php_array_data_compare(). Entonces, básicamente, es el mismo algoritmo para todas las funciones de clasificación, excepto que toman diferentes funciones de comparación.

Cuestiones relacionadas