この記事では主にPHPクイックソートの原理と実装方法を紹介し、サンプルの形でPHPクイックソートのアルゴリズム原理と具体的な実装テクニックを分析します。
<?php $n = array('13','14','55','10','54','2','79','106','89','90','22','60','111','77777','-110','-10','123'); function partition($n,$left,$right) { global $n; $pivot = $n[$left]; $lo=$left; $hi=$right+1; while($lo+1!=$hi) { if($n[$lo+1]<$pivot) $lo++; else if($n[$hi-1]>$pivot) $hi--; else{ $t=$n[$lo+1]; $n[$lo+1]=$n[$hi-1]; $n[$hi-1]=$t; $lo++; $hi--; } } $n[$left]=$n[$lo]; $n[$lo]=$pivot; return $lo; } function quicksort($n,$left,$right) { global $n; $dp = 0; if ($left<$right) { $dp=partition($n,$left,$right); quicksort($n,$left,$dp-1); quicksort($n,$dp+1,$right); } } quicksort($n,0,sizeof($n)-1); print_r($n); ?>
2) 最初の配列要素をキーデータとして使用し、値を Give X に割り当てます。 、つまり交換
4)、I から後方に検索、つまり前から後ろに検索 (I: =I+1)、X より大きい最初の値を見つけ、2 つを交換します5)、ステップを繰り返します。 I=J まで 3、4 ステップ。
クイックソートはこのプロセスを再帰的に呼び出します。このデータシーケンスを 49 を中間点として分割し、前部分と後部分でそれぞれ同様のクイックソートを実行します。これにより、高速ソートが完了します。データシーケンス全体のソート ソートし、最後にこのデータシーケンスを順序付けられたシーケンスに変換します
概要: 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。
関連する推奨事項:
php
WeChat開発アクセスインスタンスの詳細説明WeChat開発アクセスインスタンスの詳細説明PHP+MySQLはファジークエリ従業員情報機能を実装します
以上がPHPクイックソートの原理、実装方法、事例分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。