Board logo

標題: 選擇排序 VS. 氣泡排序 [打印本頁]

作者: tonyh    時間: 2022-4-30 17:27     標題: 選擇排序 VS. 氣泡排序

選擇排序(Selection sort)
將要排序的對象分作兩部份,一個是已排序的,一個是未排序的。如果排序是由小而大,從後端未排序部份選擇一個最小值,並放入前端已排序部份的最後一個。例如:

排序前:70 80 31 37 10 1 48 60 33 80

#01.  [1] 80 31 37 10 70 48 60 33 80;選出最小值1
#02.  [1 10] 31 37 80 70 48 60 33 80;選出最小值10
#03.  [1 10 31] 37 80 70 48 60 33 80;選出最小值31
#04.  [1 10 31 33] 80 70 48 60 37 80 ......
#05.  [1 10 31 33 37] 70 48 60 80 80 ......
#06.  [1 10 31 33 37 48] 70 60 80 80 ......
#07.  [1 10 31 33 37 48 60] 70 80 80 ......
#08.  [1 10 31 33 37 48 60 70] 80 80 ......
#09.  [1 10 31 33 37 48 60 70 80] 80 ......


氣泡排序法(Bubble sort)
將要排序的對象分作兩部份,一個是已排序的,一個是未排序的。排序時若是從小到大,最大元素會如同氣泡一樣移至右端,其利用比較相鄰元素的方式,將較大元素交換至右端,所以較大的元素會不斷往右移動,直到適當的位置為止。

排序前:95 27 90 49 80 58 6 9 18 50

#01.  27 90 49 80 58 6 9 18 50 [95];95浮出
#02.  27 49 80 58 6 9 18 50 [90 95];90浮出
#03.  27 49 58 6 9 18 50 [80 90 95];80浮出
#04.  27 49 6 9 18 50 [58 80 90 95] ......
#05.  27 6 9 18 49 [50 58 80 90 95] ......
#06.  6 9 18 27 [49 50 58 80 90 95] ......
#07.  6 9 18 [27 49 50 58 80 90 95] ......
#08.  6 9 [18 27 49 50 58 80 90 95] ......
#09.  6 [9 18 27 49 50 58 80 90 95] ......
#10.  [6 9 18 27 49 50 58 80 90 95] ......




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2