php 冒泡排序&快速排序

php 冒泡排序&快速排序

今天了解下php基础笔试题中的算法题,最基本的冒泡以及快速排序。
冒泡排序两种方法:

function maopao($array)
{
        $count = count($array);
        if ($count <= 0) return false;

        for($i=0; $i<$count; $i++){
                for($j=$count-1; $j>$i; $j--){
                        if ($array[$j] < $array[$j-1]){
                                $tmp = $array[$j];
                                $array[$j] = $array[$j-1];
                                $array[$j-1] = $tmp;
                        }
                }
        }
        return $array;
} 
function maopao($b)
{
        $len= count($b);
        if ($len<= 0) return false;
    for($k=1;$k<$len;$k++)
    {
        for($j=0;$j<$len-$k;$j++){
            if($b[$j]>$b[$j+1]){
                $temp =$b[$j+1];
                $b[$j+1] =$b[$j] ;
                $b[$j] = $temp;
            }
        }
    }
}

快速排序

function quick_sort($array) {
        if (count($array) <= 1) return $array;

        $key = $array[0];
        $left_arr = array();
        $right_arr = array();

        for ($i=1; $i<count($array); $i++){
                if ($array[$i] <= $key)
                        $left_arr[] = $array[$i];
                else
                        $right_arr[] = $array[$i];
        }

        $left_arr = quick_sort($left_arr);
        $right_arr = quick_sort($right_arr);

        return array_merge($left_arr, array($key), $right_arr);
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值