舉例4個數: 7,4,3,8
從左往右兩兩比較,即 7和4比較,發現7大於4,那麼交換,數列變成 4,7,3,8 。
然後我們再看第2位和第三位,發現7大於3,那麼交換,數列變成 4,3,7,8 。
然後再去看前兩位,左邊還是大於右邊,那麼繼續交換將變成 3,4,7,8 。
最後看第三位和第四位,發現左邊小於右邊,無需交換,最終是 3,4,7,8 。
總結一下就是從左到右依次選中乙個數和左邊比較,這個數小於左邊就交換,交換完在和左邊比較,直到交換到比左邊大了之後,換下乙個數,最後數字依次處理後,資料即從小到大排序。
function insertsort($needsortdata)
else}}
return $needsortdata;
}$unsorteddata = [9, 1, 3, 8, 2, 6, 5, 7, 4];
$result=insertsort($unsorteddata);
print_r($result);
演算法 02 插入排序
插入排序 insertsort 如撲克牌插牌一樣,通過構建有序序列,將元素插入乙個已經排序好的序列中。插入排序是對氣泡排序的改進。插入排序同樣通過構建巢狀for的形式進行排序。for i 1 i i for j i 1 j 0 j 將a 0 看成是已經排好序的序列,所以從第2個元素 i 1 開始遍歷...
php之插入排序
直接插入排序實現從小到大排序 思路 每一趟排序將待排序的記錄 元素 插入到前面的有序數列中,從左到右不斷增大有序數列 關鍵 找到前面的有序數列中正確插入位置。arr array 6,18,2,4,16,8 echo 排序前 print r arr insertsort arr echo 排序後 pr...
php之插入排序
直接插入排序 介紹 插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in place排序 即只需用到o 1 的額外空間的排序 因而在從後向前掃瞄過...