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

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

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

  • 08-28 22:56