tags:

views:

157

answers:

3

Internally speaking, which algorithm(s) does PHP use to implement the various sort functions it offers? It seems like the usort variants might use a different algorithm than the built in sorts, but I wanted to know.

Where would I even find this information?

Thanks!

+13  A: 

You could find the information by looking at the php manual. http://php.net/sort says PHP uses an implementation of Quicksort. Failing that, you could always trudge through the PHP source code itself.

Timothy
d'oh, thanks. I even looked at that page and passed right by that note.
Joseph Mastey
A: 

IIRC, PHP uses quick sort

Mark Baker
+4  A: 

For sorting, PHP uses an implementation of quicksort that can be found in Zend/zend_qsort.c, which takes a comparison function and an array of elements. The default comparison function for sort() is defined in ext/standard/array.c and is called php_array_data_compare(). So basically, it's the same algorithm for all sorting functions, except that they take different comparison functions.

Daniel Egeberg