この記事では主に 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のバブリング、選択、挿入、クイックソートアルゴリズムの共有
以上がPHPクイックソートのクイックソート方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。