php之插入排序

2021-08-19 11:36:49 字數 630 閱讀 7396

直接插入排序 (

介紹:插入排序(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 最後看第三位和第四位,發現左邊小於右邊...