1. 程式人生 > >php四大排序之插入排序

php四大排序之插入排序

插入排序法  插入排序法思路:將要排序的元素插入到已經 假定排序號的陣列的指定位置。 

程式碼:

function insert_sort($arr) {     //區分 哪部分是已經排序好的     //哪部分是沒有排序的     //找到其中一個需要排序的元素     //這個元素 就是從第二個元素開始,到最後一個元素都是這個需要排序的元素     //利用迴圈就可以標誌出來     //i迴圈控制 每次需要插入的元素,一旦需要插入的元素控制好了,     //間接已經將陣列分成了2部分,下標小於當前的(左邊的),是排序好的序列     for($i=1, $len=count($arr); $i<$len; $i++) {         //獲得當前需要比較的元素值。         $tmp = $arr[$i];         //內層迴圈控制 比較 並 插入         for($j=$i-1;$j>=0;$j--) {    //$arr[$i];//需要插入的元素; $arr[$j];//需要比較的元素             if($tmp < $arr[$j]) {                 //發現插入的元素要小,交換位置                 //將後邊的元素與前面的元素互換                 $arr[$j+1] = $arr[$j];                 //將前面的數設定為 當前需要交換的數                 $arr[$j] = $tmp;             } else {                 //如果碰到不需要移動的元素            //由於是已經排序好是陣列,則前面的就不需要再次比較了。                 break;             }         }     }     //將這個元素 插入到已經排序好的序列內。     //返回     return $arr; }