2010-07-02 8 views
24

내부적으로 PHP가 제공하는 다양한 정렬 기능을 구현하기 위해 어떤 알고리즘이 사용됩니까? usort 변종이 내장 된 것보다 다른 알고리즘을 사용하는 것처럼 보이지만 나는 알고 싶었다.PHP는 어떤 종류의 정렬 알고리즘을 사용합니까?

어디에서이 정보를 찾을 수 있습니까?

감사합니다.

답변

34

PHP 매뉴얼을 보면이 정보를 찾을 수 있습니다. http://php.net/sort은 PHP가 Quicksort의 구현을 사용한다고 말합니다. 그렇게하지 않으면 PHP 소스 코드 자체를 항상 터벅 터벅 걷을 수 있습니다.

+0

감사합니다. 나는 그 페이지를 보았고 그 쪽지로 바로 넘어 갔다. –

0

는 IIRC, PHP는 PHP는 비교 기능 및 요소들의 어레이를 취 Zend/zend_qsort.c에서 찾을 수 퀵의 일 구현을 사용하여, 정렬 빠른 정렬을

19

를 이용한다. sort()에 대한 기본 비교 함수는 ext/standard/array.c에 정의되어 있으며 php_array_data_compare()이라고합니다. 그래서 기본적으로 다른 비교 함수를 사용한다는 점을 제외하고는 모두 정렬 함수와 동일한 알고리즘입니다.

관련 문제