下列程式片段(假設陣列和變數均已宣告)是採用何種排序方法? for (i = 0; i < n - 1; i++) for (j = 0; j < n - i - 1; j++) if (a[j] > a[j + 1]) { tmp = a[j + 1]; a[j + 1] = a[j]; a[j] = tmp; }
A快速排序法
B合併排序法
C泡沫排序法正確答案
D插入排序法
答案與詳解
泡沫排序法的核心概念是重複遍歷陣列,比較相鄰元素並在順序錯誤時交換,使較大元素如氣泡般浮至末端。題幹中 a[j] 與 a[j+1] 的比較與交換,以及內層迴圈邊界 n-i-1 的遞減,完全符合此演算法特徵。
Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。
