php 常用的排序算法代码[冒泡,递归排序
冒泡排序算法
function bubblesort($arr)
{
$n=count($arr);
for($i=0;$i
{
for($j=$i;$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
{
if($arr[$i]
{
$tmp=$arr[$i];
$j=0;
for($j=$i-1;$j>=0&&$tmp
{
$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
{
$t=$i;
for($j=$i+1;$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
$key=$array[0];
$l=array();
$r=array();
//分别进行递归排序,然后合成一个数组
for($i=1;$i
{
if($array[$i]
{
$l[]=$array[$i];
}
else
{
$r[]=$array[$i];
}
}
$l=qsort($l);
$r=qsort($r);
return array_merge($l,array($key),$r);
}