冒泡法:

每个依次同其它数据比较,先选出最大(最小)的,再选第二大(小)的。

示例:

//冒泡排序
function maopao($arr)
{
    $n = count($arr);
    for($j=0;$j<$n-1;$j++)
    {
        for($i=$j+1;$i<=$n-1;$i++)
        {
            if($arr[$j]>$arr[$i])
            {
                $t = $arr[$i];
                $arr[$i] = $arr[$j];
                $arr[$j]=$t;
            }
        }
    }
    return $arr;
}
$arr = array(1,5,4,7,3,2);
print_r($arr);

快速排序:

通过一趟排序分成两部分,然后递归对这两部分排序,最后合并。

//快速排序
function quick($array)
{   
    if(count($array)<=1)
    {
        return $array;
    }
    $key = $array[0];
    $l = array();
    $r = array();
    for($i=1;$i<count($array);$i++)
    {
        if ($array[$i]<=$key)
        {
            $l[] =$array[$i];
        }
        else
        {
            $r[] = $array[$i];
        }
    }

    $l = quick($l);
    $r = quick($r);
return array_merge($l,array($key),$r);
}
$array = array(2,5,3,4,1);
print_r(quick($array));