Page 99 -
P. 99
第五章 陣列與排序
5-2 排序
排序(sorting),將一組資料一使用者需求,予以重新排列其順序。一般會依資料之大小
順序排序(由大至小、或由小至大)。排序後之資料,優點為容易閱讀、統計分析、與快速搜
尋所要之資料。常見之排序演算法:氣泡排序(Bubble sorting)、選擇排序(Selection sorting)、
插入排序(Insertion sorting)、快速排序(Quick sorting)、堆積排序(Heap sorting)、薛爾排序
(Shell sorting)、合併排序(Merge sorting)、基數排序(Radix sorting)等等,本單元將針對氣泡
排序、選擇排序分別進行說明。
(一)氣泡排序法(Bubble sorting):最簡單之排序法。所謂氣泡排序法就是相鄰資料互相比較,
若發現資料順序不對,就將資料互換。依次由上往下比,則結果將如氣泡般,依次由下
往上浮起。例如我們以一陣列 B(5)代表 5 個數值,由小到大排序如下表:
B(1) B(2) B(3) B(4) B(5)
87532
經排序結果(由小到大)後為
B(1) B(2) B(3) B(4) B(5)
23578
我們來看看排序過程如何進行
●步驟一:B(1) 與 B(2)比較,結果 B(1)>B(2)
B(1) B(2) B(3) B(4) B(5)
87532
所以二個內容交換(8 與 7 對調)
B(1) B(2) B(3) B(4) B(5)
78532
●步驟二:B(2) 與 B(3)比較,結果 B(2)>B(3)
B(1) B(2) B(3) B(4) B(5)
78532
所以二個內容交換(8 與 5 對調)
B(1) B(2) B(3) B(4) B(5)
75832
●步驟三:B(3) 與 B(4)比較,結果 B(3)>B(4)
B(1) B(2) B(3) B(4) B(5)
75832
所以二個內容交換(8 與 3 對調)
B(1) B(2) B(3) B(4) B(5)
75382
95