冒泡排序算法
function bubblesort($arr)
{
$n=count($arr);
for($i=0;$i<$n;$i++) { for($j=$i;$j<=$n-1;$j++) { if($arr[$i]>$arr[$j])
{
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp;
}
}
}
return $arr;
}
//直接插入排序
function insertsort($arr)
{
$n=count($arr);
for($i=1;$i<$n;++$i) { if($arr[$i]<$arr[$i-1]) { $tmp=$arr[$i]; $j=0; for($j=$i-1;$j>=0&&$tmp<$arr[$j];--$j) { $arr[$j+1]=$arr[$j]; } $arr[$j+1]=$tmp; } } return $arr; } 簡單排序算法 function simplesort($arr) { $tmp=0; $t=0; $n=count($arr); for($i=0;$i<$n;++$i) { $t=$i; for($j=$i+1;$j<$n;++$j) { if($arr[$t]>$arr[$j])
{
$t=$j;
}
}
$tmp=$arr[$i];
$arr[$i]=$arr[$t];
$arr[$t]=$tmp;
}
return $arr;
}
快速排序算法
function qsort($array)
{
$n=count($array);
if($n<=1){return $array;}
$key=$array[0];
$l=array();
$r=array();
//分别进行递归排序,然后合成一个数组
for($i=1;$i<$n;$i++)
{
if($array[$i]<=$key)
{
$l[]=$array[$i];
}
else
{
$r[]=$array[$i];
}
}
$l=qsort($l);
$r=qsort($r);
return array_merge($l,array($key),$r);
}
沒有留言:
張貼留言