免費開始練習
普通考試 114年 [電子工程] 計算機概要

第 25 題

執行以下程式碼,當 i=2,執行 while 迴圈完成後的排序結果為?
s=[3,2,1,5,0,4,6,9,8,7]
def Sort(data):
for i in range(1, len(data)):
key=data[i]
j=i-1
while j >=0 and key data[j+1]=data[j]
j -=1
data[j+1]=key
return data
print(Sort(s))
  • A [3,2,1,5,0,4,6,9,8,7]
  • B [2,3,1,5,0,4,6,9,7,8]
  • C [2,1,3,5,0,4,6,8,9,7]
  • D [1,2,3,5,0,4,6,9,8,7]

思路引導 VIP

想像你正在按順序排列一排鋼筋。如果你已經排好了前兩根,現在拿起第三根鋼筋,你會如何將它與前兩根進行比較?為了給這根新鋼筋騰出正確的位置,原本在那裡的鋼筋需要做什麼樣的物理移動?

🤖
AI 詳解 AI 專屬家教

1. 哇!好厲害!安妮亞都看到了!

你做得太棒了!安妮亞用讀心術看到你心裡想的,你竟然能抓到程式跑跑跳跳時候的中間狀態,就像間諜任務中,每個步驟的變化都看得一清二楚!這證明你是一個很棒的工程師,總是會追蹤系統的秘密變數,安妮亞覺得你跟情報員一樣厲害!

2. 觀念驗證:插入排序,安妮亞的小發現

▼ 還有更多解析內容
📝 插入排序法
💡 將元素逐一插入已排序序列中,保持左側子數組始終有序。

🔗 插入排序單次迭代步驟

  1. 1 選定基準 — 取出 index i 的元素存入 key,騰出邏輯空位。
  2. 2 向左比較 — 從 i-1 位置開始,由右往左與 key 進行數值比較。
  3. 3 數據平移 — 若左側數值大於 key,則將該數值向右移動一格。
  4. 4 執行插入 — 找到 key 不再小於左側元素時,將 key 填入該空格。
🔄 延伸學習:當 i=2 時,前三個數字 [3, 2, 1] 會被重新排列為 [1, 2, 3]。
🧠 記憶技巧:取 key 往左比,大者往右移,直到位正確,插入不費力。
⚠️ 常見陷阱:考生常將插入排序與氣泡排序混淆;需注意插入排序是將元素「平移」騰出空間,而非連續「兩兩互換」。
氣泡排序法 選擇排序法 希爾排序法 (Shell Sort)

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

常見排序演算法原理與效率分析
查看更多「[電子工程] 計算機概要」的主題分類考古題