首页 > 代码库 > php实现快速排序和冒泡排序

php实现快速排序和冒泡排序

<?php$arr = array(9,4,12,34,1,43,23,7,3,4,5,6,33,22,12,21,15,62,1222,21,322,432,31,54,64);//$sorted_arr = quickSort($arr);$sorted_arr = bublleSort($arr);var_dump($sorted_arr);// 快速排序算法function quickSort($arr){    if(count($arr)>1){        $k=$arr[0];        $x=array();        $y=array();        $_size=count($arr);        for($i=1;$i<$_size;$i++){            if($arr[$i]<=$k){                $x[]=$arr[$i];            }else{                $y[]=$arr[$i];            }        }        $x=quickSort($x);        $y=quickSort($y);        return array_merge($x,array($k),$y);    }else{        return $arr;    }}// 冒泡排序算法function bublleSort($arr){    for($l = count($arr);$l>1;$l--){        for($i=0;$i<$l-1;$i++){            if($arr[$i] > $arr[$i+1]){                $tmp = $arr[$i];                $arr[$i] = $arr[$i+1];                $arr[$i+1] = $tmp;            }        }    }    return $arr;}?>

 

<?php

$arr = array(9,4,12,34,1,43,23,7,3,4,5,6,33,22,12,21,15,62,1222,21,322,432,31,54,64);
//$sorted_arr = quickSort($arr);
$sorted_arr = bublleSort($arr);
var_dump($sorted_arr);


// 快速排序算法
function quickSort($arr){
    if(count($arr)>1){
        $k=$arr[0];
        $x=array();
        $y=array();
        $_size=count($arr);
        for($i=1;$i<$_size;$i++){
            if($arr[$i]<=$k){
                $x[]=$arr[$i];
            }else{
                $y[]=$arr[$i];
            }
        }
        $x=quickSort($x);
        $y=quickSort($y);
        return array_merge($x,array($k),$y);
    }else{
        return $arr;
    }
}

// 冒泡排序算法
function bublleSort($arr){
    for($l = count($arr);$l>1;$l--){
        for($i=0;$i<$l-1;$i++){
            if($arr[$i] > $arr[$i+1]){
                $tmp = $arr[$i];
                $arr[$i] = $arr[$i+1];
                $arr[$i+1] = $tmp;
            }
        }
    }
    return $arr;
}
?>