普考-資訊處理計算機概要110 年第 26 題單選題
若使用選擇排序法(Selection Sort),對一個陣列[43, 74, 36, 65, 22]由小到大進行排序,則下列何者為進行完兩次交換後的陣列內容?
A[22, 36, 43, 65, 74]
B[22, 36, 74, 65, 43]正確答案
C[36, 43, 22, 65, 74]
D[43, 36, 65, 22, 74]
B正確答案
選擇排序每輪找最小值與當前位置交換,兩次交換後前兩位為 22、36。
為什麼答案是 B
正解。第1次:最小值 22 與位置0的 43 交換 → [22, 74, 36, 65, 43];第2次:剩餘[74,36,65,43]中最小為 36,與位置1的 74 交換 → [22, 36, 74, 65, 43]。
載入中…
完整詳解
Pro · 無限重點 選擇排序每輪找最小值與當前位置交換,兩次交換後前兩位為 22、36。
第1次:找全陣列最小(22)與位置0(43)交換;第2次:剩餘找最小(36)與位置1(74)交換。
逐選項分析
A✕ 陷阱
這是完全排序完的結果,不是兩次交換。選擇排序對 5 個元素需要 4 次交換才能完成。陷阱:誤以為兩次交換就排好。
B✓ 正確
正解。第1次:最小值 22 與位置0的 43 交換 → [22, 74, 36, 65, 43];第2次:剩餘[74,36,65,43]中最小為 36,與位置1的 74 交換 → [22, 36, 74, 65, 43]。
C✕
此結果邏輯不符。選擇排序第一輪必定把最小值放到位置0,不可能讓 36 在位置0、22 在位置2。
D✕ 陷阱
這像是冒泡排序(Bubble Sort)兩次交換的結果,不是選擇排序。陷阱:混淆兩種排序演算法。
選擇排序逐步過程
| 步驟 | 掃描範圍 | 找到最小 | 與誰交換 | 結果 |
|---|
| 初始 | — | — | — | [43, 74, 36, 65, 22] |
| 第1次 | 位置0~4 | 22 | 與位置0(43) | [22, 74, 36, 65, 43] |
| 第2次 | 位置1~4 | 36 | 與位置1(74) | [22, 36, 74, 65, 43] |
| 第3次 | 位置2~4 | 43 | 與位置2(74) | [22, 36, 43, 65, 74] |
| 第4次 | 位置3~4 | 65 | 不需交換 | [22, 36, 43, 65, 74] |
本題陷阱在於「兩次交換」而非「兩輪排序」。考生常因急躁直接選最終排序結果(A),或混淆成冒泡排序(D)。選擇排序的特色是每一輪只交換一次,把該輪最小值定位。