ホームページ  >  記事  >  バックエンド開発  >  PHPクイックソートのクイックソート方法の例

PHPクイックソートのクイックソート方法の例

小云云
小云云オリジナル
2018-03-10 09:18:281415ブラウズ

この記事では主に PHP のクイックソート メソッドの例を紹介し、クイックソートの使用方法をより深く理解できるようにしたいと考えています。

<?phpfunction quickSort($arr){
    //先判断是否需要继续进行
    $length = count($arr);    if ($length <= 1) {        return $arr;
    }    //选择第一个元素作为基准
    $base_num = $arr[0];    //遍历除了标尺外的所有元素,按照大小关系放入两个数组内

    //初始化两个数组
    $left_array = [];   //小于基准的
    $right_array = [];  //大于基准的

    for ($i = 1; $i < $length; $i++) {        if ($base_num > $arr[$i])            //放入左边数组
            $left_array[] = $arr[$i];        else
            //放入右边
            $right_array[] = $arr[$i];

    }    //再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数
    $left_array = quickSort($left_array);    $right_array = quickSort($right_array);    //合并
    return array_merge($left_array, array($base_num), $right_array);
}$arr1 = [1, 4, 5, 8, 2, 12, 23, 17];$arr2 = quickSort($arr1);

var_dump($arr2);

関連する推奨事項:

phpのバブリング、選択、挿入、クイックソートアルゴリズムの共有

Jsのクイックソートメソッドの例

クイックソートを実装するPHPメソッドの例

以上がPHPクイックソートのクイックソート方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。