双方向のポインタをもつリスト構造のデータを表に示す。
この表において新たな社員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 |
|
ア |
a, b, e, f |
|
イ |
a, e, f |
|
ウ |
a, f |
|
エ |
b, e |
答え ウ
【解説】
社員Gを社員Aと社員Kの間に追加するので、社員Aの次ポインタ(a)が社員Gのアドレス400になる。
また、社員Kの前ポインタ(f)も社員Gのアドレス400になる。(ウ)
なお、社員Gの次ポインタ(x)は社員Kのアドレス300、前ポインタ(y)は社員Aのアドレス100になる。
アドレス |
社員名 |
次ポインタ |
前ポインタ |
100 |
社員A |
300 → 400(a) |
0(b) |
200 |
社員T |
0(c) |
300(d) |
300 |
社員K |
200(e) |
100 → 400(f) |
400 |
社員G |
300(x) |
100(y) |
【キーワード】
・連結リスト
【キーワードの解説】
- 連結リスト
データ構造の一種で、データのリストの中に次のリストを示すリンク(ポインタ)を持っている。
片方向リスト
双方向リスト
もっと、「連結リスト」について調べてみよう。
戻る
一覧へ
次へ
|