【php】(2)快速排序-PHP版

(2)快速排序-PHP版

Gabriel发布于 今天 07:59

<?php

function 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 国际》许可协议

avatar

Gabriel

24 声望

1 粉丝

0 条评论

得票时间

avatar

Gabriel

24 声望

1 粉丝

宣传栏

<?php

function 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

回到顶部