1. 程式人生 > >PHP陣列氣泡排序新手如何理解

PHP陣列氣泡排序新手如何理解

長話短說,直擊重點!

上程式碼:

    $pai = array(0,-98,10,40,-20,1,200,-300,58);
    $temp=0;
    for ($i=0;$i<count($pai)-1;$i++) {
        for ($j=0;$j<count($pai)-1-$i;$j++) {
            if ($pai[$j] > $pai[$j+1]) {
                $temp = $pai[$j+1];
                $pai[$j+1] = $pai[$j];
                $pai[$j] = $temp;
            }
        }
    }

思想: 前後兩個比較,把大的值往後放

程式碼兩層迴圈意思:

1.陣列元素個數減一: 因為前後兩個比較,如果是最後一個的話沒有比較物件了,固然是不用比了

2.第二層迴圈減去$i的意思:每次比較完了就會有個結果在最後面,下次比較的時候就不需要比較這個值了