問題プレビューID: 4d0bc816

問 5

双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員 G を社員 A と社員 K の間に追加する。追加後の表のポインタ a〜f の中で追加前と比べて値が変わるポインタだけをすべて列記したものはどれか。

表

アドレス社員名次ポインタ前ポインタ
100社員 A3000
200社員 T0300
300社員 K200100

追加後の表

アドレス社員名次ポインタ前ポインタ
100社員 Aab
200社員 Tcd
300社員 Kef
400社員 Gxy
解説

追加前のリストは,社員A(アドレス100)→社員K(アドレス300)→社員T(アドレス200)の順に連結されている。社員Aの次ポインタは300(K),社員Kの前ポインタは100(A)である。

社員G(アドレス400)を社員Aと社員Kの間に追加すると,

  • 社員Aの次ポインタ aa:300 → 400(G)に変化
  • 社員Kの前ポインタ ff:100 → 400(G)に変化
  • 社員Gの次ポインタ xx:300(K)
  • 社員Gの前ポインタ yy:100(A)

その他のポインタは変化しない。bb(Aの前)は0のまま,cc(Tの次)は0のまま,dd(Tの前)は300のまま,ee(Kの次)は200のままである。

値が変わるのは aa と ff であり,正解は「ウ」である。