免費開始練習
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$ 的交換細節,這正是區分正確答案與干擾項的關鍵。

▼ 還有更多解析內容

🏷️ 相關主題

程式語言基礎語法與演算法邏輯應用
查看更多「電腦常識、機械常識、電機常識」的主題分類考古題