ホームページ > php教程 > php手册 > PHPのデータ構造とアルゴリズム(PHPの説明) クイックソート クイックソート

PHPのデータ構造とアルゴリズム(PHPの説明) クイックソート クイックソート

WBOY
リリース: 2016-06-13 12:00:16
オリジナル
1163 人が閲覧しました

コードをコピー コードは次のとおりです:


/**
* クイックソート
*
**/

関数 sort_quick($arrData) {
if(empty($arrData) || !is_array($arrData)) return false;

$flag = $arrData[0]; $len = count($arrData) - 1;
if($len == 0) return $arrData // データ配列が 1 つしかない場合は、直接返します

$arrLeft = array() ;
$ arrRight = array();
$len_l = 0;
for($i <= $len;$i ) 🎜>if($ arrData[$i] < $flag) {
$arrLeft[$len_l] = $arrData[$i]; // 小さい方が左側に配置されます
$len_l ; >} else {
$ arrRight[$len_r] = $arrData[$i] // 右側以上に配置
$len_r ;
<🎜; >// 配列をマージします
$arrResult = array();
if($len_l) {
$arrLeft = sort_quick($arrLeft);
for($i = 0;$i < = $len_l - 1; $i ) {
$arrResult[$i] = $arrLeft[$i];
}
}
$arrResult[$len_l] = $flag; >$len_l ;
if($len_r ) {
$arrRight = sort_quick($arrRight);
for($i = 0;$i <= $len_r - 1; $i ) {
$arrResult[$len_l] = $arrRight [$i];
$len_l ;
}
}
エコー "== ",$flag," ======= =========== =======================
";
echo "データ : ",print_r($arrData),"< br/>";
echo "フィルター左: ",print_r($arrLeft),"
";
エコー "右フィルター: ",print_r($arrRight),"< br/>";
echo "return : ",print_r($arrResult),"
";

return $arrResult ;
}
//$ リスト = 配列(4,3,2,1,5,7,3,7);
$リスト = 配列(4,51,6,73,2, 5,9,33,50,3,4 ,6,1,4,67);
$list = sort_quick($list);
echo "

";print_r($list); 


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート