如何對已知數組 $arr = [24,69,80,57,13] 進行按重新順序排序。
思路:
1、我們需要對數組中每兩個,前后進行比較,如果前面小于后面的,就進行兌換位置;
2、因為是兩個一比較,所以我們需要比較count($arr) - 1 輪,因為每一輪比較下來,都可以確定一個最大的值,所以每一輪就會減少一次。
圖示:
代碼:
//定義數組$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 '<pre>';var_dump($arr);
最終結果為:
更多相關php知識,請訪問html' target='_blank'>php教程!
以上就是PHP對一組數進行重新排列(冒泡算法)的詳細內容,更多請關注電腦知識網其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答