就内部实现而言,PHP使用哪些算法来实现其提供的各种排序函数?似乎usort变体可能会使用不同于内置排序的算法,但我想知道。
我该在哪里找到这些信息呢?
谢谢!
在排序方面,PHP使用快速排序的实现,可以在 Zend/zend_sort.c
中找到,该实现需要一个比较函数和一个元素数组。 sort()
的默认比较函数定义在 ext/standard/array.c
中,名为 php_array_data_compare()
。所以基本上,所有排序函数都是相同的算法,只是它们使用不同的比较函数。
据我所知,PHP使用快速排序