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
   94   95   96   97   98   99   100   101   102   103   104