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

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

 みるさん(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-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop