美文网首页
算法笔记 - 快速排序

算法笔记 - 快速排序

作者: 码农的学习笔记 | 来源:发表于2017-08-14 17:08 被阅读0次

1.定义一个基准点,以基准点为标准 进行查找替换

2.定义i j 变量循环查找 i从左到右查找比基准点大的值 j从右到左查找比基准点小的值,直到i = j 结束循环

3.找到结果替换 再将基准点跟相遇的值交换 完成第一次查找替换

4.开始分治查找 除基准点 左右各执行上述查找过程

$old_array = [6,1,2,7,9,4,5,10,8];

function qicksort(&$array,$left,$right){

if($left > $right)

{

return;

}

$temp = $array[$left];

$t = [];

$i = $left;

$j = $right;

while($i!=$j)

{

while($array[$j] >= $temp&&$i<$j)

{

$j--;

}

while($array[$i] <= $temp&&$i<$j)

{

$i++;

}

if($i<$j)

{

$t = $array[$i];

$array[$i] = $array[$j];

$array[$j] = $t;

}

}

$array[$left] = $array[$i];

$array[$i]    = $temp;

qicksort($array,$left,$i-1);

qicksort($array,$i+1,$right);

}

qicksort($old_array,0,count($old_array) - 1);

相关文章

网友评论

      本文标题:算法笔记 - 快速排序

      本文链接:https://www.haomeiwen.com/subject/vmnurxtx.html