直接插入排序 (
介紹:插入排序(insertion sort)的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到o(1)的額外空間的排序),因而在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。
方式一步驟:
1.從第乙個元素開始,該元素可以認為已經被排序
2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄
3.如果該元素(已排序)大於新元素,將該元素移到下一位置
4.重複步驟3,直到找到已排序的元素小於或者等於新元素的位置
5.將新元素插入到該位置中
6.重複步驟2
如圖所示:
//找到乙個合適的位置進行插入
if(($key+1)!=$i)
$arr[$key+1]=$tmp;
}return$arr;
}
php之插入排序
直接插入排序實現從小到大排序 思路 每一趟排序將待排序的記錄 元素 插入到前面的有序數列中,從左到右不斷增大有序數列 關鍵 找到前面的有序數列中正確插入位置。arr array 6,18,2,4,16,8 echo 排序前 print r arr insertsort arr echo 排序後 pr...
插入排序之PHP實現
插入排序的 實現雖然沒有氣泡排序和選擇排序那麼簡單粗暴,但它的原理應該是最容易理解的了,因為只要打過撲克牌的人都應該能夠秒懂。插入排序是一種最簡單直觀的排序演算法,它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序和氣泡排序一樣,也有一種優化演算...
PHP 演算法02之插入排序
舉例4個數 7,4,3,8 從左往右兩兩比較,即 7和4比較,發現7大於4,那麼交換,數列變成 4,7,3,8 然後我們再看第2位和第三位,發現7大於3,那麼交換,數列變成 4,3,7,8 然後再去看前兩位,左邊還是大於右邊,那麼繼續交換將變成 3,4,7,8 最後看第三位和第四位,發現左邊小於右邊...