平成27年春期試験 午後問8

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
みるさん
(No.1)
設問1ではi,jが同じ位置(要素番号2,入ってる値は5)に来るときにiはそのまま、jは要素番号1,値は1まで戻りました。
設問2では同じ位置に(要素番号3,入ってる値は2)きたとき、そこで処理が終わり、i,jが共に要素番号3で終わっていました。
これらの違いはなんですか?
2020.05.19 09:45
とくらさん
(No.2)
もしどこかでi=jとなるタイミングがあったとき
x[i](x[j])がPivotと等しいなら
10~12行目の処理も13~15行目の処理も行われない(もしくはその時点で止まる)ので
i=jの状態でbreak条件を満たします。
設問2のパターンがこれです。

i=jとなってもx[i](x[j])がPivotと等しくない場合は
その値がPivotより大きいか小さいということになるので
10~12行目の処理か13~15行目の処理のどちらかが行われて
i>jの状態でbreak条件を満たします。
設問1はこっちのパターンです。
j-i=1の時に19行目~23行目の処理に入ったときも
同様の事が起こります。
2020.05.21 17:52

返信投稿用フォーム

スパム防止のために初投稿日から2カ月以上経過したスレッドへの書き込みは禁止しています。

その他のスレッド


Pagetop