有的时候老是把已经学过了的忘了,没有办法只好找地方记下来.
今天把快速排序又回顾了一遍,
$a[0] = "192.128.2.3";
$a[1] = "132.168.1.5";
$a[2] = "192.168.1.2";
$a[3] = "192.178.2.4";
$a[4] = "165.152.1.8";
function swap(&$m,&$n)
...{
$temp = $n;
$n = $m;
$m = $temp;
}
function QuickSort(&$b,$l,$r)
...{
$i = $l;$j = $r;
$x = $b[($i+$j)/2];
do...{
while (($b[$i]>$x)&&($i<$r))$i++;
while (($b[$j]<$x)&&($j>$l))$j--;
if($i <= $j) swap($b[$j--],$b[$i++]);
}
while ($i<=$j);
if($l<$j) QuickSort(&$b,$l,$j);
if($i<$r) QuickSort(&$b,$i,$r);
}
QuickSort($a,0,count($a)-1);
呵呵!说实话真的很简单,但是大二到现在居然没有人再考过我这个问题,昨天一个同事问我写这个程序要多长时间,10分钟够不?我才意识到自己真的把递归调用放下太久了!或许有高人说过少用递归调用吧!但是想想少用并不是不用,程序想写的好,什么都得想到!做为一个程序员,基本的东西也是最重要的东西.
本文回顾了快速排序算法的实现,并通过一个具体的示例演示了如何使用递归来完成数组的排序。作者强调了作为程序员掌握基本算法的重要性。
707

被折叠的 条评论
为什么被折叠?



