2010-07-02 43 views
24

Nói nội bộ, (các) thuật toán nào PHP sử dụng để triển khai các chức năng sắp xếp khác nhau mà nó cung cấp? Có vẻ như các biến thể usort có thể sử dụng một thuật toán khác với các loại được xây dựng, nhưng tôi muốn biết.PHP sử dụng thuật toán sắp xếp nào?

Tôi có thể tìm thấy thông tin này ở đâu?

Cảm ơn!

Trả lời

34

Bạn có thể tìm thông tin bằng cách xem hướng dẫn sử dụng php. http://php.net/sort cho biết PHP sử dụng triển khai Quicksort. Không có điều đó, bạn luôn có thể trudge thông qua mã nguồn PHP chính nó.

+0

d'oh, cảm ơn. Tôi thậm chí còn nhìn vào trang đó và đi ngang qua ghi chú đó. –

0

IIRC, PHP sử dụng sắp xếp nhanh chóng

19

Đối với phân loại, PHP sử dụng một thực hiện quicksort có thể được tìm thấy trong Zend/zend_qsort.c, trong đó có một chức năng so sánh và một loạt các yếu tố này. Hàm so sánh mặc định cho sort() được xác định trong ext/standard/array.c và được gọi là php_array_data_compare(). Về cơ bản, đó là cùng một thuật toán cho tất cả các chức năng phân loại, ngoại trừ việc chúng có các hàm so sánh khác nhau.

Các vấn đề liên quan