如何對已知數(shù)組 $arr = [24,69,80,57,13] 進(jìn)行按重新順序排序。
思路:
1、我們需要對數(shù)組中每兩個(gè),前后進(jìn)行比較,如果前面小于后面的,就進(jìn)行兌換位置;
2、因?yàn)槭莾蓚€(gè)一比較,所以我們需要比較count($arr) – 1 輪,因?yàn)槊恳惠啽容^下來,都可以確定一個(gè)最大的值,所以每一輪就會減少一次。
圖示:
代碼:
//定義數(shù)組 $arr = [24,69,80,57,13]; //定義一個(gè)臨時(shí)變量 $temp = 0; //第一層循環(huán),外層循環(huán),循環(huán)count($arr) - 1 次(可以遍歷到每一個(gè)數(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é)束,可以獲取到一個(gè)最大值) for ($i=0; $i < count($arr) - 1; $i++) { //判斷條件,滿足即交換值 if($arr[$i] > $arr[$i + 1]){ //臨時(shí)存儲滿足條件的變量值 $temp = $arr[$i]; //重新賦值 $arr[$i] = $arr[$i + 1]; //重新賦值 $arr[$i + 1] = $temp; } } } //輸出排列后的數(shù)組 echo '<pre>'; var_dump($arr);
最終結(jié)果為: