冒泡排序原理及php实现

核心思想:相邻的两个数一一比较,大的数上浮,若按从小到大排列的话,大的数向右移动,小的数向左移动,n个数,需要经过n-1轮循环,每一轮循环,需要进行n-i(i代表第i轮循环)次调换,最后可把一列数顺序排列
 

下面是实现方法:

<?php
function maopao_sort($arr){
    $length = count($arr);  //计算排序长度
    for($i = 0; $i < $length - 1; $i++){
        for($j = 0; $j < $length - 1 - $i; $j++){
            if($arr[$j] > $arr[$j+1]){
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $tmp;
            }
        }
    }

    var_dump($arr);exit;
}

$data = array(8,4,3,6,5,7,10,4);
maopao_sort($data);
?>

 

点赞