平成19年  春  問4

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
まきさん  
(No.1)
某問題集より御教授して頂きたいです。
挿入ソートの問題で設問1のbまで分かりました。
Cの答えA[Idx2+1]←Tmpとありますが
なぜですか?
bの段階でA[Idx2+1]←A[Idx2]  1つずつずれるのはわかるのですが
これって上書きするイメージでしょうか
教えてください。よろしくお願いいたします。
2023.01.04 20:56
boyonboyonさん 
FE シルバーマイスター
(No.2)
この投稿は投稿者により削除されました。(2023.01.05 16:08)
2023.01.05 16:08
boyonboyonさん 
FE シルバーマイスター
(No.3)
並び替えの途中の段階で考えます。
説明のため、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だけ頭の中でうごかせなくてわからなかったので嬉しいです
2023.01.05 21:30

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop