民國114年 普通考試 電子工程 計算機概要
第25題
執行以下程式碼,當i=2,執行while 迴圈完成後的排序結果為?s=[3,2,1,5,0,4,6,9,8,7]def Sort(data):for i in…
題目
執行以下程式碼,當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-1while j >=0 and key<data[j]:data[j+1]=data[j]j -=1data[j+1]=keyreturn dataprint(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]
官方答案
- 答案:D. [1,2,3,5,0,4,6,9,8,7]
解析
程式實作插入排序。外層迴圈 i=1 先將前兩個元素排序成 [2,3,1,5,0,4,6,9,8,7];接著 i=2,key=1,內層 while 依序與 data[1]=3、data[0]=2 比較並右移,最後將 1 放入 data[0],完成 i=2 迴圈後陣列為 [1,2,3,5,0,4,6,9,8,7],符合選項 D。選項 A 為初始狀態,B 為 i=1 結束狀態,C 元素順序錯誤。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。