您的位置:首页 > 编程语言 > PHP开发

PHP 快速排序法

2016-07-21 17:11 441 查看
<?php
function quickSort($left,$right,$sort_arr = null){
static $arr;
if(!empty($sort_arr)){
$arr = $sort_arr;
}

if($left >= $right){
return;
}

$mark_num = $arr[$left];
$mark_k = $left;
$i = $left+1;
$j = $right;

while($i != $j){
//左移判断
while($arr[$j] > $mark_num && $j > $i){
$j--;
}

//右移判断
while($arr[$i] <= $mark_num && $i < $j){
$i++;
}

$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}

if($arr[$i] < $mark_num){
$arr[$mark_k] = $arr[$i];
$arr[$i] = $mark_num;
}

quickSort($left,$i-1);
quickSort($i+1,$right);
return $arr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: