クイック ソートは一般的な並べ替えアルゴリズムであり、ほとんどの場合、特に大規模なデータの並べ替えシナリオの場合、他の並べ替えアルゴリズムよりも高速に実行されます。 PHP でのクイック ソートの実装も非常に簡単で、必要なコードは数行だけです。この記事ではphpでのクイックソートの実装を紹介します。
クイック ソートとは
クイック ソートは、分割統治に基づいたソート アルゴリズムであり、ソート対象のシーケンスをいくつかのサブシーケンスに分割し、各サブシーケンスはベンチマーク値に従ってソートされます。基本値には任意の数値を指定できます。通常は最初または最後の要素が取得され、データは 2 つのグループに分割され、一方の側は基本値より大きく、もう一方の側は基本値より小さくなります。このプロセスを再帰的に呼び出し、最後にサブシーケンスをマージすることで、順序付けられたシーケンスを取得できます。
PHP クイック ソートの実装
コードは次のとおりです:
function quickSort($arr) { $length = count($arr); if ($length <= 1) { return $arr; } $left = $right = array(); $pivot = $arr[0]; for ($i = 1; $i < $length; $i++) { if ($arr[$i] < $pivot) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } return array_merge(quickSort($left), array($pivot), quickSort($right)); }
上記のコードでは、$arr はソートされる配列であり、$left と $right は配列をそれぞれ使用します 基本値より小さい数値と大きい数値を格納します $pivot が基本値です 配列内の数値はループによってサイズに応じて 2 つのカテゴリに分割されます 最後に、左側と右側の部分の数値は組み合わせた。
クイック ソートの計算時間は O(nlogn) であり、実際の使用においても非常に効率的です。
概要
クイック ソートは、分割統治に基づいた一般的な並べ替えアルゴリズムであり、ベンチマーク番号を選択することにより、並べ替え対象の配列が 2 つの部分列に分割され、部分列が再帰的に並べ替えられます。最後に、2 つのサブシーケンスが順序付けられたシーケンスにマージされます。 PHP でのクイック ソートの実装も非常に簡単です。上記のコードは参考用です。クイック ソート アルゴリズムの時間計算量は O(nlogn) で、実際の使用では良好なパフォーマンスを発揮します。
以上がPHPクイックソートの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。