HOME»基本情報技術者試験掲示板»平成27年春期試験 午後問8
投稿する

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

 みるさん(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
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop