コード 1:
コードをコピーする コードは次のとおりです:
function Quicksort($str){
if(count($str)<=1) return $str;//数値がそうでない場合1 より大きい場合、直接 Return
$key=$str[0];//後で比較する値を取得します
$right_arr=array(); i< count($str);$i++){//$key より大きいものは右側に配置され、小さいものは左側に配置されます
if($str[$i]<=$key; )
$left_arr[]=$str [$i];
else
$right_arr[]=$str[$i];
$left_arr=quicksort($left_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);
print_r(quicksort($str));
コード 2:
コードをコピーコードは次のとおりです:
/* @quicksort*/
function QuickSort ($left,$right,$arr){
$l = $left = $arr[($left+ $right)/2];
$temp = 0;
while($l$l++; [$r]>$pivot){
$r-- ;
if($l>=$r) ブレーク;
$temp = $arr[$l]; = $arr[$r];
$arr[$r] = $temp;
if($arr[$r]==) $pivot) ++$l;
}
if($ l==$r){
$r--;
}
if($left<$r){
quickSort($left) , $r, $arr);
}elseif($right>$l){
quickSort($l, $right, $arr);
return $arr;