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

【返信投稿用フォーム】

お名前(10文字以内)

顔アイコン


本文(2,000文字以内)

記事削除用パスワード(20文字以内)

プレビュー

※宣伝や迷惑行為を防止するため当サイトとIPAサイト以外のURLを含む記事の投稿は禁止されています。

投稿記事削除用フォーム

投稿No. パスワード 
© 2010-2020 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop