溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP如何實(shí)現(xiàn)冒泡排序

發(fā)布時間:2020-05-21 15:21:46 來源:億速云 閱讀:200 作者:鴿子 欄目:編程語言

如何對已知數(shù)組 $arr =  [24,69,80,57,13] 進(jìn)行按重新順序排序。

思路:

1、我們需要對數(shù)組中每兩個,前后進(jìn)行比較,如果前面小于后面的,就進(jìn)行兌換位置;

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

圖示:

PHP如何實(shí)現(xiàn)冒泡排序

代碼:

//定義數(shù)組
$arr = [24,69,80,57,13];
//定義一個臨時變量
$temp = 0;
//第一層循環(huán),外層循環(huán),循環(huán)count($arr) - 1 次(可以遍歷到每一個數(shù)組值)
for ($i1=0; $i1 < count($arr); $i1++) { 
    //第二層循環(huán),內(nèi)層循環(huán),每一次外層循環(huán)內(nèi),再次循環(huán),循環(huán)次數(shù)依次減少一次(每次循環(huán)結(jié)束,可以獲取到一個最大值)
    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;
        }
    }
}
//輸出排列后的數(shù)組
echo '<pre>';
var_dump($arr);

最終結(jié)果為:

PHP如何實(shí)現(xiàn)冒泡排序

以上就是PHP對一組數(shù)進(jìn)行重新排列(冒泡算法)的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI