在内部,PHP使用哪种算法来实现它提供的各种排序功能?似乎usort变体可能使用与内置类型不同的算法,但我想知道。
我甚至可以在哪里找到这些信息?
谢谢!
答案 0 :(得分:37)
您可以通过查看php手册找到相关信息。 http://php.net/sort表示PHP使用Quicksort的实现。如果做不到这一点,你总是可以跋涉PHP源代码本身。
答案 1 :(得分:19)
为了排序,PHP使用了一个快速排序的实现,可以在Zend/zend_qsort.c
中找到,它带有一个比较函数和一个元素数组。 sort()
的默认比较函数在ext/standard/array.c
中定义,称为php_array_data_compare()
。基本上,它与所有排序函数的算法相同,只是它们采用不同的比较函数。
答案 2 :(得分:0)
IIRC,PHP使用快速排序