ホームページ  >  記事  >  バックエンド開発  >  PHP でクイックソートメソッド関数 code_PHP チュートリアルを実装

PHP でクイックソートメソッド関数 code_PHP チュートリアルを実装

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

コード 1:

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

function Quicksort($str){
if(count($str)<=1) return $str;/ /if 数値が 1 より大きくない場合は、直接返します
$key=$str[0];//後で比較する値を取得します
$right_arr=array(); ($i =1;$iif($str[$i]< =$key)
$ left_arr[]=$str[$i];
else
$right_arr[]=$str[$i];
$left_arr=quicksort($left_arr);//再帰を実行します。 $right_arr=quicksort($ right_arr);
return array_merge($left_arr,array($key),$right_arr);// 左、中央、右の値を配列にマージします
}// 以下はテスト
$str=array(5,3, 8,2,5,9,7,2,1,4,0​​);


コード 2:



コードをコピー

コードは次のとおりです:
/* @quicksort*/ function QuickSort($left,$right,$arr){ $l = $left $r = $right; ;
$ピボット = $arr[($left+$ right)/2];
$temp = 0;

while($l$l++;
}
while($arr[ $r]>$pivot){
$r--;

if($l>=$r)

$temp = $arr[ $l];
$arr[$l] = $arr[$r] = $temp;
if($arr[$r]==$ ピボット) ++$l;
}

if($l==$r){
$r--;

if; left<$r){
quickSort($left, $r, $arr);
}elseif($right>$l){
quickSort($l, $right, $arr);
return $ああ、
}
}





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

www.bkjia.com

tru​​e

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

技術記事
コード 1: 次のようにコードをコピーします: ?php function Quicksort($str){ if(count($str)=1) return $str;//数値が 1 より大きくない場合は、直接 $key=$str を返します。 [0] ;//値を取得して後で使用します...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。