【php】(2)快速排序-PHP版
(2)快速排序-PHP版
Gabriel发布于 今天 07:59
<?phpfunction quickSort(&$array,$left,$right) {
if ($left > $right) return;
$middle = partition($array,$left,$right);
quickSort($array,$left,$middle-1);
quickSort($array,$middle+1,$right);
}
function partition(&$array,$left,$right) {
$v = $array[$left];
$j = $left;
for ($i=$left;$i<=$right;$i++) {
if($array[$i] < $v) {
$temp = $array[$j+1];
$array[$j+1] = $array[$i];
$array[$i] = $temp;
$j++;
}
}
$temp = $array[$j];
$array[$j] = $array[$left];
$array[$left] = $temp;
return $j;
}
function makeArray($n) {
$array = [];
for ($i = 0;$i<$n;$i++) {
$array[$i] = mt_rand(0,$n);
}
return $array;
}
$array = makeArray(100);
quickSort($array,0,count($array)-1);
echo implode(',',$array);
php快速排序
阅读 25发布于 今天 07:59
本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
Gabriel
24 声望
1 粉丝
Gabriel
24 声望
1 粉丝
宣传栏
目录
<?phpfunction quickSort(&$array,$left,$right) {
if ($left > $right) return;
$middle = partition($array,$left,$right);
quickSort($array,$left,$middle-1);
quickSort($array,$middle+1,$right);
}
function partition(&$array,$left,$right) {
$v = $array[$left];
$j = $left;
for ($i=$left;$i<=$right;$i++) {
if($array[$i] < $v) {
$temp = $array[$j+1];
$array[$j+1] = $array[$i];
$array[$i] = $temp;
$j++;
}
}
$temp = $array[$j];
$array[$j] = $array[$left];
$array[$left] = $temp;
return $j;
}
function makeArray($n) {
$array = [];
for ($i = 0;$i<$n;$i++) {
$array[$i] = mt_rand(0,$n);
}
return $array;
}
$array = makeArray(100);
quickSort($array,0,count($array)-1);
echo implode(',',$array);
以上是 【php】(2)快速排序-PHP版 的全部内容, 来源链接: www.h5w3.com/112941.html
得票时间