快速排序PHP实现 php 快速排序法 php 快速排序的思路 快速排序算

WBOY
Freigeben: 2016-07-29 08:54:56
Original
1339 Leute haben es durchsucht

<code><span>/**
 *
 * 快速排序:不稳定,时间复杂度 最理想 O(nlogn) 最差时间O(n^2)
 * 快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后,
 * 使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,
 * 而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小,
 * 右边各数都比它大。然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止。
 *<span> @param</span> array $arr
 *<span> @return</span> array
 */</span><span><span>function</span><span>fastSort</span><span>(array <span>$arr</span>)</span>{</span><span>if</span>(count(<span>$arr</span>) > <span>1</span>){
        <span>$num</span> = <span>$arr</span>[<span>0</span>];
        <span>$arrSmall</span> = [];
        <span>$arrBig</span> = [];
        <span>foreach</span> (<span>$arr</span><span>as</span><span>$item</span>){
            <span>if</span>(<span>$item</span>><span>$num</span>){
                <span>$arrBig</span>[] = <span>$item</span>;
            }<span>elseif</span>(<span>$item</span>$num){
                <span>$arrSmall</span>[] = <span>$item</span>;
            }
        }
        <span>$arrSmall</span> = fastSort(<span>$arrSmall</span>);
        <span>$arrBig</span> = fastSort(<span>$arrBig</span>);
        <span>$arr</span> = array_merge(<span>$arrSmall</span>,[<span>$num</span>],<span>$arrBig</span>);
    }<span>else</span>{
        <span>return</span><span>$arr</span>;
    }
    <span>return</span><span>$arr</span>;
}</code>
Nach dem Login kopieren
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了快速排序PHP实现,包括了快速排序,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage