問題
選択肢
- 1{1, 3, 8, 5, 4}
- 2{3, 5, 8, 1, 4}
- 3{1, 3, 5, 4, 8}
- 4{5, 3, 8, 1, 4}
正解
1. {1, 3, 8, 5, 4}
詳しい解説を見る解説を閉じる
解説
選択ソートの1パス目は、配列全体から最小値の位置を探し、最後に先頭要素と交換する。前半のループでminIdxの変化を追うと、data[2]=3<data[1]=5でminIdx=2、data[4]=1<data[2]=3でminIdx=4となり、data[3]=8とdata[5]=4では更新されない。最小値はdata[4]=1である。後半の交換処理でdata[1]=5とdata[4]=1を入れ替え、結果は{1, 3, 8, 5, 4}となるため、「{1, 3, 8, 5, 4}」が正解である。{3, 5, 8, 1, 4}は隣接要素を交換するバブルソートの動きと混同した値、「{1, 3, 5, 4, 8}」はソートが複数パス進んだ状態、「{5, 3, 8, 1, 4}」は交換が行われなかった場合である。頻出ポイント:選択ソートは「走査中は位置の記録だけ行い、交換はパスの最後に1回」という点がバブルソートとの違いとして頻出である。
一問一答
科目A 180問+科目B 60問