close
A 講解:
插入排序法 時間複雜度 O(n^2) 為一個stable sort
假設一筆資料 5 6 4 89 25 33 8
用此排序法 從六開始 (所以從陣列第二個元素開始)
其右邊為"未排序" 左邊為"已排序"
然後依照 "6", "4", "89", ...... 依序插入左邊的適當位置
而插入細節可以參考程式碼
以 5 6 (4) ...... 為範例
(4)要如何插到適當位址???
首先檢查 6 是否大於 4??? 有 那就做以下事情:
==> 5 6 (6) .......
很明顯4被取代了 怎辦??? 沒關係 我們已經用 "key" 這個變數記錄了
接著檢查 5 是否大於 4??? 有 那一樣做取代
==> 5 (5) 6
最後發現跑到底了 那我們就把 5 用 "key" (即為值4) 取代囉~~!
B 範例例題如下:
先輸入資料數 即陣列大小
接著輸入一筆未排序測資
請輸出排序後的資料 並在每筆測資後空一行
EX:
Input:
7
5 6 4 89 25 33 8
Output:
4 5 6 8 25 33 89
C 程式碼如下:
全站熱搜