rtr21 发表于 2015-2-3 08:48:25

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;
}

                   

页: [1]
查看完整版本: php冒泡排序