冒泡排序-PHP

冒泡:大的下沉,小的上冒;
当前元素与下一位进行比较,若当前元素大于下一位元素,则交换位置(将当前元素后移一位)
$arr = array(5,4,3,2,1); // 为实验更清晰,数据为倒叙排序
print_r($arr);
function bubbleSort($arr) {
    $len = count($arr);
    for ($i=0; $i<$len-1; $i++) { // 循环多少轮($len-1)
        for ($k=0; $k<$len-1-$i; $k++) { // 还需比较的次数($len-1-$i)
            if ($arr[$k] > $arr[$k+1]) { // 若当前元素大于下一位元素,则交换位置(将当前元素后移一位)
                $tmp = $arr[$k+1];
                $arr[$k+1] = $arr[$k];
                $arr[$k] = $tmp;
            }
        }
        print_r($arr);
    }
    return $arr;
}
$res = bubbleSort($arr);
//print_r($res);

 

posted @ 2021-03-13 16:43  蓝晓焰  阅读(68)  评论(0编辑  收藏  举报