首頁  >  文章  >  後端開發  >  PHP將一組數重新排列(冒泡演算法)

PHP將一組數重新排列(冒泡演算法)

藏色散人
藏色散人轉載
2020-01-29 13:18:232111瀏覽

PHP將一組數重新排列(冒泡演算法)

如何將已知陣列 $arr =  [24,69,80,57,13] 進行重新順序排序。

想法:

1、我們需要對陣列中每兩個,前後比較,如果前面小於後面的,就進行兌換位置;

2、因為是兩個一比較,所以我們需要比較count($arr) - 1 輪,因為每一輪比較下來,都可以確定一個最大的值,所以每一輪就會減少一次。

圖示:

PHP將一組數重新排列(冒泡演算法)

 

# 程式碼:

//定义数组
$arr = [24,69,80,57,13];
//定义一个临时变量
$temp = 0;
//第一层循环,外层循环,循环count($arr) - 1 次(可以遍历到每一个数组值)
for ($i1=0; $i1 < count($arr); $i1++) { 
    //第二层循环,内层循环,每一次外层循环内,再次循环,循环次数依次减少一次(每次循环结束,可以获取到一个最大值)
    for ($i=0; $i < count($arr) - 1; $i++) {
        //判断条件,满足即交换值 
        if($arr[$i] > $arr[$i + 1]){
            //临时存储满足条件的变量值
            $temp = $arr[$i];
            //重新赋值
            $arr[$i] = $arr[$i + 1];
            //重新赋值
            $arr[$i + 1] = $temp;
        }
    }
}
//输出排列后的数组
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
var_dump($arr);

最終結果為:

PHP將一組數重新排列(冒泡演算法)

更多相關php知識,請造訪php教學

以上是PHP將一組數重新排列(冒泡演算法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除