PHP 演算法02之插入排序

2021-09-13 12:03:13 字數 531 閱讀 9582

舉例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 的額外空間的排序 因而在從後向前掃瞄過...