LET'S TRY
問題文
配列A[i](i=1,2,…,n)を次のアルゴリズムによって整列する。行2〜3の処理が初めて終了したとき,必ず実現されている配列の状態はどれか。行1:i=1〜n-1の間,行2〜3を繰り返す。行2:j=n〜i+1の間,行3を繰り返す。行3:A[j] < A[j-1]なら交換。
fe-siken.com
IPAの公開問題について ↗
まずは自分で考えて、理由を確かめよう。
配列A[i](i=1,2,…,n)を次のアルゴリズムによって整列する。行2〜3の処理が初めて終了したとき,必ず実現されている配列の状態はどれか。行1:i=1〜n-1の間,行2〜3を繰り返す。行2:j=n〜i+1の間,行3を繰り返す。行3:A[j] < A[j-1]なら交換。
fe-siken.com
IPAの公開問題について ↗
自分で考えてから、解説を開いてみてね。
正解は ア です。
バブルソートの変形。i=1の1回目ループではj=nからj=2まで後ろから比較・交換を繰り返すため,最小値が順番にA[1]まで「浮き上がる」。よってループ完了後,A[1]は必ず最小値になる。
学習ノートを読み込んでいます…