`
erntoo
  • 浏览: 30000 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
  • erntoo: 修改somaxconn该内核参数默认值一般是128,对于负载很 ...
    rpm

PHP算法-快速排序 分治法

    博客分类:
  • PHP
阅读更多
/**
 * 快速排序 分治法
 * 1 把小于指定数($key = $arr[0])的 放在左侧数组(left);大于$key 放在右侧数组
 * 2 合并 数组
 *
 * @param unknown $arr            
 */
function quick_sort($arr)
{
    $count = count($arr);
    if (count($arr) > 1) {
        $key = $arr[0];
        $left = [];
        $right = [];
        for ($i = 1; $i < $count; $i ++) {
            if ($arr[$i] <= $key) {
                $left[] = $arr[$i];
            } elseif ($arr[$i] > $key) {
                $right[] = $arr[$i];
            }
        }
        $left = quick_sort($left);
        $right = quick_sort($right);
        return array_merge($left, [
            $key
        ], $right);
    } else {
        return $arr;
    }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics