ホームページ  >  記事  >  バックエンド開発  >  PHP データ構造とアルゴリズム (PHP の説明) クイック ソート クイック ソート_PHP チュートリアル

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

WBOY
WBOYオリジナル
2016-07-21 15:18:34899ブラウズ

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

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

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

$flag = $arrData[0];
if($len == 0) return $arrData; 1 つのデータ配列を直接返します
$arrLeft = 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]; // 以上のものは右側に配置されます
}
}

// 配列を結合します
$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;
if($len_r) {
$arrRight = sort_quick($i = 0;$i <= $len_r - 1; $i++ ) {
$arrResult[$len_l] = $arrRight[$i]
}
}
echo "== ",$flag," ================ ==========================
";
echo "データ : ",print_r($arrData),"< br/>";
echo "フィルター左: ",print_r($arrLeft),"
"; : ",print_r($arrRight),"
";
echo "return : ",print_r($arrResult),"
";

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




http://www.bkjia.com/PHPjc/325534.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325534.html
技術記事

次のようにコードをコピーします。 ?php /*** クイックソート クイックソート * **/ function sort_quick($arrData) { if(empty($arrData) || !is_array($arrData)) return $flag = $arrData[0] ; $l...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。