php教程

超轻量级php框架startmvc

浅谈php冒泡排序

更新时间:2020-03-01 22:49:14 作者:startmvc
PHP实现的代码先奉上:functionbubble_sort($array){   for($i=0;$i<count($array)-1;$i++){ &

PHP实现的代码先奉上:


function bubble_sort($array) {
    for ($i = 0; $i < count($array) - 1; $i++) {    //$i为已经排过序的元素个数
        for ($j = 0; $j < count($array) - 1 - $i; $j++) {    //$j为需要排序的元素个数,用总长减去$i
            if ($array[$j] > $array[$j + 1]) {    //按升序排序
                $temp = $array[$j];
                $array[$j] = $array[$j + 1];
                $array[$j + 1] = $temp;
            }
        }
    }
    return $array;
}

$a = array(5, 1, 4, 7);

代码执行过程:


i = 0;
  j = 0;
  if($arr[0] > $arr[1]) => 5 > 1 条件成立,交换位置,形成新的数组 =>  1 5 4 7  j++
  if($arr[1] > $arr[2]) => 5 > 4 条件成立,交换位置, 形成新的数组 =>  1 4 5 7  j++ 
  if($arr[2] > $arr[3]) => 5 > 7 条件不成立 ,数组保持不变 , 1 4 5 7 j++ j=3 退出内层循环, i++

依次类推吧。

php 冒泡排序