Array_T9

Where there's a will, there's a way.

PHP 快速排序算法

// 快速排序
$parameter = array(6,1,2,7,9,3,4,5,10,8);
$left = 0;
$right = (count($parameter)-1);


quick($left,$right);
var_dump($parameter);




function quick($left,$right){
global $parameter;// 获取全局变量


if($left > $right){// 超过中间线 返回
return ;
}


$base = $parameter[$left];// tmp 作为中间基准数
$i = $left;
$j = $right;


while($i != $j){
// 顺序很重要,要先从右侧往左侧找
while($parameter[$j] >= $base && $i < $j){
$j--;
}
// 再从左向右找
while($parameter[$i]<= $base && $i < $j){
$i++;
}


// 交换两个数在数组中的位置
if($i < $j){
$temp = $parameter[$i];
$parameter[$i] = $parameter[$j];
$parameter[$j] = $temp;
}
}


// 最终将基准数归位
$parameter[$left] = $parameter[$i];
$parameter[$i] = $base;


quick($left,$i-1);// 继续处理左边,这里是一个递归的过程
quick($i+1,$right);//继续处理右边,这里是一个递归的过程
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36607076/article/details/53992531
下一篇PHP桶排序算法
想对作者说点什么? 我来说一句

PHP 排序算法源代码

2015年11月07日 4KB 下载

快速排序算法

2011年11月14日 139KB 下载

没有更多推荐了,返回首页

关闭
关闭