【问题标题】:What sort algorithm does PHP use?PHP使用什么排序算法?
【发布时间】:2023-07-02 19:12:01
【问题描述】:

从内部来说,PHP 使用哪种算法来实现它提供的各种排序功能?似乎 usort 变体可能使用与内置排序不同的算法,但我想知道。

我什至在哪里可以找到这些信息?

谢谢!

【问题讨论】:

    标签: php algorithm


    【解决方案1】:

    您可以通过查看 php 手册找到相关信息。 http://php.net/sort 表示 PHP 使用 Quicksort 的实现。如果做不到这一点,您总是可以在 PHP 源代码本身中跋涉。

    【讨论】:

      【解决方案2】:

      对于排序,PHP 使用了一个可以在Zend/zend_sort.c 中找到的快速排序实现,它接受一个比较函数和一个元素数组。 sort() 的默认比较函数在ext/standard/array.c 中定义,称为php_array_data_compare()。所以基本上,所有排序函数的算法都是一样的,只是它们采用不同的比较函数。

      【讨论】:

        【解决方案3】:

        IIRC,PHP 使用快速排序

        【讨论】:

        • 自从蒂莫西在 FGITW 游戏中“忍者”了你,并且因为这个 5 字的答案在十多年来没有被任何研究人员发现有帮助,你可能会考虑放弃这篇文章来自页面。您的来电。
        最近更新 更多