HOME»基本情報技術者試験掲示板»平成19年 春 問4
投稿する
»[4739] 科目B サンプル問題 解いてみました 投稿数:20
»[4738] 来年度試験サンプル問題セット80問公開(IPA) 投稿数:8
平成19年 春 問4 [4741]
まきさん(No.1)
某問題集より御教授して頂きたいです。
挿入ソートの問題で設問1のbまで分かりました。
Cの答えA[Idx2+1]←Tmpとありますが
なぜですか?
bの段階でA[Idx2+1]←A[Idx2] 1つずつずれるのはわかるのですが
これって上書きするイメージでしょうか
教えてください。よろしくお願いいたします。
挿入ソートの問題で設問1のbまで分かりました。
Cの答えA[Idx2+1]←Tmpとありますが
なぜですか?
bの段階でA[Idx2+1]←A[Idx2] 1つずつずれるのはわかるのですが
これって上書きするイメージでしょうか
教えてください。よろしくお願いいたします。
2023.01.04 20:56
boyonboyonさん(No.2)
★FE シルバーマイスター
この投稿は投稿者により削除されました。(2023.01.05 16:08)
2023.01.05 16:08
boyonboyonさん(No.3)
★FE シルバーマイスター
並び替えの途中の段階で考えます。
説明のため、A[i]を丸数字で表します。
A[i]=6ならば⑥のように考えてください。
□はスペースのかわりです。
現在の状態:①②③⑤⑥⑦⑩④⑧⑨
Idx1=7まで終わって、次はIdx1=8のループに入ります。
□□□□□□□8□□□□Idx1
1234567□□□□□Idx2
①②③⑤⑥⑦⑩④⑧⑨□□④をtmpに代入
□□□□□□④□□□□⑩>④なので⑩で右の値を上書き
①②③⑤⑥⑦⑩⑩⑧⑨□になり、Idx2を1へらす。6
□□□□□④□□□□□⑦>④なので⑦で右の値を上書き
①②③⑤⑥⑦⑦⑩⑧⑨□になり、Idx2を1へらす。5
□□□□④□□□□□□⑥>④なので⑥で右の値を上書き
①②③⑤⑥⑥⑦⑩⑧⑨□になり、Idx2を1へらす。4
□□□④□□□□□□□⑤>④なので⑤で右の値を上書き
①②③⑤⑤⑥⑦⑩⑧⑨□になり、Idx2を1へらす。3
□□④□□□□□□□□③≦④なのでLoop←falseでループを抜け
Idx2+1=4の所をTmpで上書きし
①②③④⑤⑥⑦⑩⑧⑨ になります。
Idx1=9,10 と続きます。
説明のため、A[i]を丸数字で表します。
A[i]=6ならば⑥のように考えてください。
□はスペースのかわりです。
現在の状態:①②③⑤⑥⑦⑩④⑧⑨
Idx1=7まで終わって、次はIdx1=8のループに入ります。
□□□□□□□8□□□□Idx1
1234567□□□□□Idx2
①②③⑤⑥⑦⑩④⑧⑨□□④をtmpに代入
□□□□□□④□□□□⑩>④なので⑩で右の値を上書き
①②③⑤⑥⑦⑩⑩⑧⑨□になり、Idx2を1へらす。6
□□□□□④□□□□□⑦>④なので⑦で右の値を上書き
①②③⑤⑥⑦⑦⑩⑧⑨□になり、Idx2を1へらす。5
□□□□④□□□□□□⑥>④なので⑥で右の値を上書き
①②③⑤⑥⑥⑦⑩⑧⑨□になり、Idx2を1へらす。4
□□□④□□□□□□□⑤>④なので⑤で右の値を上書き
①②③⑤⑤⑥⑦⑩⑧⑨□になり、Idx2を1へらす。3
□□④□□□□□□□□③≦④なのでLoop←falseでループを抜け
Idx2+1=4の所をTmpで上書きし
①②③④⑤⑥⑦⑩⑧⑨ になります。
Idx1=9,10 と続きます。
2023.01.05 16:09
まきさん(No.4)
大変分かりやすい解説をありがとうございます。
Cだけ頭の中でうごかせなくてわからなかったので嬉しいです
Cだけ頭の中でうごかせなくてわからなかったので嬉しいです
2023.01.05 21:30
その他のスレッド
»[4740] n進数の問題について 投稿数:6»[4739] 科目B サンプル問題 解いてみました 投稿数:20
»[4738] 来年度試験サンプル問題セット80問公開(IPA) 投稿数:8