HOME»基本情報技術者試験掲示板»平成27年春期午後問8
投稿する
■ X[i} < Pivot
・i=i+1
■
の処理で、iが5になります。
ちなみに、jも
■ X{j} > Pivot
・j=j-1
■
の結果(X{6}=2 ≦ Pivot なのでループ処理は行われない)、現在 j=6 になっています。
iとjの値が決まり、i≧j ではないので、γの処理が行われ、ループの最初に戻ります。
平成27年春期午後問8 [4421]
れいさん(No.1)
https://www.fe-siken.com/kakomon/27_haru/pm08.html
〔aについて〕
配列xの要素は[3,5,6,4,7,2,1]で、k=3なので、1回目の選択処理では Pivot の値が x[3]=6 になります。
iが1から3まで進み、jは7のままです。
3,5,6(i),4,7,2,1(j)
x[i] と x[j] を交換(赤字部分)し、i+1、j-1を行うと、以下のようになります。
3,5,1,4(i),7,2(j),6
iが7の位置まで進み、jは6の位置のままです。
3,5,1,4,7(i),2(j),6
iが7の位置まで進み、jは6の位置のままになる理由がわかりません。
どなたかご教授ください。
〔aについて〕
配列xの要素は[3,5,6,4,7,2,1]で、k=3なので、1回目の選択処理では Pivot の値が x[3]=6 になります。
iが1から3まで進み、jは7のままです。
3,5,6(i),4,7,2,1(j)
x[i] と x[j] を交換(赤字部分)し、i+1、j-1を行うと、以下のようになります。
3,5,1,4(i),7,2(j),6
iが7の位置まで進み、jは6の位置のままです。
3,5,1,4,7(i),2(j),6
iが7の位置まで進み、jは6の位置のままになる理由がわかりません。
どなたかご教授ください。
2022.09.08 18:02
sh0080さん(No.2)
jの6というのは、要素番号6の2のことですね。
ですので、正確には
「iが7の位置まで進み、jは2(要素番号6)の位置のままです。」だと思います。
3,5,1,4,7(i),2(j),6
ですので、正確には
「iが7の位置まで進み、jは2(要素番号6)の位置のままです。」だと思います。
3,5,1,4,7(i),2(j),6
2022.09.08 22:00
れいさん(No.3)
回答ありがとうございます。
iが7に進む理由についても教えていただけませんでしょうか?
iが7に進む理由についても教えていただけませんでしょうか?
2022.09.10 11:25
boyonboyonさん(No.4)
★FE シルバーマイスター
>iが7に進む理由についても教えていただけませんでしょうか?
■ X[i} < Pivot
・i=i+1
■
の処理で、iが5になります。
ちなみに、jも
■ X{j} > Pivot
・j=j-1
■
の結果(X{6}=2 ≦ Pivot なのでループ処理は行われない)、現在 j=6 になっています。
iとjの値が決まり、i≧j ではないので、γの処理が行われ、ループの最初に戻ります。
2022.09.10 18:12