首页 > 代码库 > php冒泡排序

php冒泡排序

 <?php
/*
*@冒泡排序面试总结
*/

$arr = array(9,3,2,1,8,4,100,99,23,45,67,87,1234);
echo ‘<pre>‘;
print_r(SortAsc($arr));
echo ‘</pre>‘;
echo ‘<pre>‘;
print_r(SortDesc($arr));
echo ‘</pre>‘;

/*
*@冒泡排序
*@排序算法
*@从小到大排序
*@只支持一维数组
*/

function SortAsc($arr){
    for($i=0;$i<count($arr);$i++){
        for($j=count($arr)-1;$j>$i;$j--){
            if($arr[$j] < ($arr[$j-1])){
                $tmp=$arr[$j-1];//分解注释理解,把当前索引是7值23赋值临时变量备用
                $arr[$j-1]=$arr[$j];//分解注释理解,把索引是当前8值是99放到8-1=7索引位置上,说白了就是把当前值网上移动一个位置
                $arr[$j]=$tmp;//分解注释理解,把索引8放入临时变量的值23
            }
        }
   }
    return $arr;
}

/*
*@冒泡排序
*@排序算法
*@从大到小排序
*@只支持一维数组
*/

function SortDesc($arr){
    for($i=0;$i<count($arr);$i++){
        for($j=count($arr)-1;$j>$i;$j--){
            if($arr[$j] > ($arr[$j-1])){
                $tmp=$arr[$j-1];
                $arr[$j-1]=$arr[$j];
                $arr[$j]=$tmp;
            }
        }
    }
    return $arr;
}


php冒泡排序