質問(選択ソート)
受験生さん
(No.1)
疑似言語プログラム
■I:N,I≧2,-1
| •Max←I
| ■J:I-1,J≧1,-1
| | ▲ A[Max]<A[J]
| | | ・Max←J
| | ▼
| ■
| ・Work←A[I]
| ・A[I]←A[Max]
| ・A[Max]←Work
|
■
トレース表
N=5としたとき
りんご
I J Max [1] [2] [3] [4] [5]
実行前 5 4 2 1 3
5 空白1 3 4 2 1 5
4 空白2 3 1 2 4 5
質問
I=5のとき、Max1となる理由がわかりません。
I=5ならば、Max=5のままだと思っています。
J=4でA[Max]<A[J]は3<1で成り立たないためMax=5のままと考えています。
ご教授お願いします。
■I:N,I≧2,-1
| •Max←I
| ■J:I-1,J≧1,-1
| | ▲ A[Max]<A[J]
| | | ・Max←J
| | ▼
| ■
| ・Work←A[I]
| ・A[I]←A[Max]
| ・A[Max]←Work
|
■
トレース表
N=5としたとき
りんご
I J Max [1] [2] [3] [4] [5]
実行前 5 4 2 1 3
5 空白1 3 4 2 1 5
4 空白2 3 1 2 4 5
質問
I=5のとき、Max1となる理由がわかりません。
I=5ならば、Max=5のままだと思っています。
J=4でA[Max]<A[J]は3<1で成り立たないためMax=5のままと考えています。
ご教授お願いします。
2021.11.21 15:56
受験生さん
(No.2)
「•」は文字化けです。
正しくは、・Max←I
正しくは、・Max←I
2021.11.21 16:05
chihiroさん
★FE プラチナマイスター
(No.3)
最低限どの年度の、どの回の、どの設問に対する質問なのかは明記してください。
それとも上記のプログラムに関する問題は出題されてはいないが、内容がよくわからなかったので質問したということですか?
それとも上記のプログラムに関する問題は出題されてはいないが、内容がよくわからなかったので質問したということですか?
2021.11.21 16:17
受験生さん
(No.4)
この問題は試験には出題されていません。
内容がわからなかったので質問しました。
内容がわからなかったので質問しました。
2021.11.21 16:46
chihiroさん
★FE プラチナマイスター
(No.5)
>この問題は試験には出題されていません。
であればそのことも明記してください。余計な手間がかかるので。
初期状態をA[]={5,4,2,1,3}とします。
I=5の処理を考えます。(このときMax←I=5)
・J:I-1=4,J≧1,-1の処理
A[Max]=A[5]=3<A[J]=A[4]=1は成り立たないので、Jを1減らします。(J←4-1=3)
A[Max]=A[5]=3<A[J]=A[3]=2は成り立たないので、Jを1減らします。(J←3-1=2)
A[Max]=A[5]=3<A[J]=A[2]=4は成り立つので、Max←J=2の処理をしてJを1減らします。
A[Max]=A[2]=4<A[J]=A[1]=5は成り立つので、Max←J=1の処理をしてJを1減らします。
J(=0)≧1が成り立たなくなったので、J:I-1=4,J≧1,-1の繰り返し処理を終了します。
Work←A[I]=A[5]=3
A[I]=A[5]←A[Max]=A[1]=5
A[Max]=A[1]←Work=3
となり、A[1]とA[5]が交換されます。(A[]={3,4,2,1,5})
I=5の処理が終了したので、Iを1減らして処理を繰り返します。
トレースの流れは以上になります。
2021.11.21 17:06
受験生さん
(No.6)
納得しました。とてもわかりやすい解説ありがとうございました。
勉強頑張ります。
勉強頑張ります。
2021.11.21 17:33
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告