平成25年秋期午後問2
広告
Keroさん
(No.1)
https://www.ap-siken.com/kakomon/25_aki/pm02.html
設問と直接関係ないのですが,どなたかお教えいただけますと幸いです。
2ページ目の最後尾にて(空欄[オ]の後に)「q->next->prev には r を,q->next には r を順にセットする。関数の戻り値に q の値をセットして終了する。」と記載されておりますが,「q->next->prev には r 」の部分に理解が追い付いておりません。rでなく,qではないのかと思っており,また,この処理自体がなぜ必要なのかが理解できませんでした。どなたかご説明を,よろしくお願い致します。
設問と直接関係ないのですが,どなたかお教えいただけますと幸いです。
2ページ目の最後尾にて(空欄[オ]の後に)「q->next->prev には r を,q->next には r を順にセットする。関数の戻り値に q の値をセットして終了する。」と記載されておりますが,「q->next->prev には r 」の部分に理解が追い付いておりません。rでなく,qではないのかと思っており,また,この処理自体がなぜ必要なのかが理解できませんでした。どなたかご説明を,よろしくお願い致します。
2021.04.03 10:05
関数従属さん
★AP シルバーマイスター
(No.2)
分割前をq→[1]→[2]とします。
この時、[2]のprevは[1]を指しております。
[1]を[1-1]と[1-2]に分割すると
q→[1-1]→[1-2]→[2]
となります。
(※r→[1-2]となります。)
この時、[2]のprevはこのままだと[1-1](分割前の[1])を指す事になる為
[2]のprevを[1-2]に変更する必要があります。(rに変更する必要があります。)
[2]のprevに相当するものがq->next->prevとなります。
この時、[2]のprevは[1]を指しております。
[1]を[1-1]と[1-2]に分割すると
q→[1-1]→[1-2]→[2]
となります。
(※r→[1-2]となります。)
この時、[2]のprevはこのままだと[1-1](分割前の[1])を指す事になる為
[2]のprevを[1-2]に変更する必要があります。(rに変更する必要があります。)
[2]のprevに相当するものがq->next->prevとなります。
2021.04.03 20:11
Keroさん
(No.3)
関数従属さん
とても分かりやすいご説明ありがとうございました。
よく理解できました。
とても分かりやすいご説明ありがとうございました。
よく理解できました。
2021.04.03 21:41
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。