数码资讯
1-归并排序-PHP版
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
function mergeSort(&$array,$left,$right) {
if ($left >= $right) {
return;
};
$middle = floor(($right+$left)/2);
// 中间值
mergeSort($array,$left,$middle);
mergeSort($array,$middle+1,$right);
merge($array,$left,$middle,$right);
}
function merge(&$array,$left,$middle,$right) {
$tempArr = [];
for($i = $left;$i<=$right;$i++) {
$tempArr[$i-$left] = $array[$i];
}
$i = $left; // 左边
$j = $middle + 1;
for($k=$left;$k<=$right;$k++) {
if ($i > $middle) {
$array[$k] = $tempArr[$j-$left];
$j++;
} elseif ($j>$right) {
$array[$k] = $tempArr[$i-$left];
$i++;
} elseif($tempArr[$i-$left] > $tempArr[$j-$left]) {
$array[$k] = $tempArr[$j-$left];
$j++;
} else {
$array[$k] = $tempArr[$i-$left];
$i++;
}
}
}
function makeArray($n) {
$array = [];
for ($i = 0;$i<$n;$i++) {
$array[$i] = mt_rand(0,$n);
}
return $array;
}
$array = makeArray(100);
mergeSort($array,0,count($array)-1);
echo implode(",",$array);
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。