合併 | 會動的演算法

符號表示

資料
整數序列A
暫存用的整數陣列T

輸入並暫存資料
將輸入的資料暫存到另一個陣列。
反轉後半段的序列。
合併
分別比較位於前、後段序列最前端的元素,並選出較小者。if T[i] ≤ T[j]:
將選出的元素放回原陣列。A[k] ← T[?]
指向前半段序列目前的所在位置。i
指向後半段序列目前的所在位置。j
擴大已排序完成的範圍。區間[l, k]
輸出
輸出排序完成的序列。

演算法動畫

輸入並暫存資料
合併 | 輸入並暫存資料

合併
合併 | 合併 title=

輸出
合併 | 輸出