2010-07-02 54 views
24

從內部講,PHP使用哪種算法來實現它提供的各種排序功能?看起來像usort變種可能會使用不同於內置類型的算法,但我想知道。PHP使用什麼樣的算法?

我在哪裏可以找到這些信息?

謝謝!

回答

34

你可以通過查看PHP手冊找到信息。 http://php.net/sort表示PHP使用Quicksort的實現。否則,你總是可以跋涉PHP源代碼本身。

+0

德,謝謝。我甚至看過那個頁面,然後在那張紙條上通過。 – 2010-07-02 13:43:19

0

IIRC,PHP使用快速排序

19

對於排序,PHP使用快速排序的實現,可用於Zend/zend_qsort.c中找到,這需要一個比較功能和元件的陣列。 sort()的默認比較功能在ext/standard/array.c中定義,並且被稱爲php_array_data_compare()。所以基本上,除了它們採用不同的比較函數外,它與所有排序函數的算法相同。