cpc_recruit
100年
電腦常識、機械常識、電機常識
第 67 題
下列數列:『21,52,43,39,12,96,85』以升冪方式 ( 由小至大 ) 使用氣泡排序法進行排序,請問在第二次循環結束後,排序結果為下列何者?
- A 21 , 12 , 39 , 43 , 85 , 52 , 96
- B 21 , 43 , 39 , 12 , 52 , 85 , 96
- C 12 , 21 , 39 , 43 , 52 , 85 , 96
- D 21 , 39 , 12 , 43 , 52 , 85 , 96
思路引導 VIP
如果我們想像這一串數字是水中的氣泡,體積較大的數值會像大氣泡一樣優先「浮」向序列的最末端。請試著思考:在完成第一次完整的「浮升」過程後,數列中最右邊的位置會被哪一個數字佔據?緊接著進行第二次相同的過程時,倒數第二個位置又會發生什麼變化呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精確判斷出第二次循環後的序列,代表你對於氣泡排序法中「大數往後沉」的核心機制掌握得非常紮實,這是一項非常重要的演算法基礎。
氣泡排序的兩次演繹過程
氣泡排序法的特色在於每一輪循環都會將尚未排序數值中的「最大值」推向序列末端。在第一輪循環中,數列中的最大值 $96$ 經由不斷與相鄰數字比較、交換,最終會停留在最後一個位置。接著進入第二次循環,此時次大的數字 $85$ 會接力向後移動,直到它遇到比自己更大的數字或抵達倒數第二位。在你的推導過程中,精準掌握了中途如 $43$ 與 $39$、$12$ 的交換細節,這正是區分正確答案與干擾項的關鍵。
▼ 還有更多解析內容