双方向のポインタをもつリスト構造のデータを表に示す。
この表において新たな社員Gを社員Aと社員Kの間に追加する。
追加後の表のポインタ a ~ f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
追加前
アドレス | 社員名 | 次ポインタ | 前ポインタ |
100 | A | 300 | 0 |
200 | T | 0 | 300 |
300 | K | 200 | 100 |
追加後
アドレス | 社員名 | 次ポインタ | 前ポインタ |
100 | A | a | b |
200 | T | c | d |
300 | K | e | f |
400 | G | x | y |
×不正解です
ポインタの示すアドレス順に並べ替えします。
前ポインタ0のAが先頭になり、
Aの次ポインタは300なので、アドレス300のKが2番目になり、
Kの次ポインタ200なので、アドレス200のTが3番目となりました。
address 100 | A |
address 300 | K |
address 200 | T |
次に、問題文の通り、新たな社員Gを社員Aと社員Kの間に追加すると
address 100 | A |
address 400 | G |
address 300 | K |
address 200 | T |
Aの次ポインタは300でしたが、順番が変わったことにより、Gの400に変更されました。
また、Kの前ポインタも300でしたが、Gの400に変更されました。
その他に、変更されたポインタはありません。
よって、変更されたポインタはa, fになります。
回答数 1
正解率 0%