深度剖析数组冒泡排序

<?php


/* 
 *@Category  数组冒泡排序类
 *@param array_arsort 类中操作方法
 *@author yalong sun
 */




//从大到小排序
class array_maopao{
    public function array_arsort($array){
        $ary = '';
        for($j=0;$j<count($array);$j++){           //事实上就是循环的次数
            for($i=0;$i<count($array)-1;$i++){   //关键在这里,按数组长度循环,注意减一。由于下边加一防止溢出出错,进行两两比較获取最大排前面
                if($array[$i+1]>$array[$i]){
                    $ary=$array[$i+1];                   //1  将大的值赋值给中间变量
                    $array[$i+1] = $array[$i];        //2  把小的放后边
                    $array[$i]=$ary;                      //3  把中间变量保存的大值往前放          这个里面就是前后换位置而已
                }
            }
        }
        var_dump($array);
    }
}


$array=array(1,5,2,9,3,4,7,6);
$obj = new array_maopao();
$obj ->array_arsort($array);
posted @ 2015-12-30 12:40  zfyouxi  阅读(141)  评论(0编辑  收藏  举报