アルゴリズムとプログラミング
平成22年度 春期 基本情報技術者試験 午前 問5
双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員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
出典:平成22年度 春期 基本情報技術者試験 午前 問5
答えと解説を見る
正解:ウ
覚える知識
双方向連結リストへの挿入操作
双方向リストの挿入では、挿入位置の前要素の次ポインタと後要素の前ポインタの2つだけを新要素に付け替える。
この問題で必要なこと
AとKの間にGを挿入すると、Aの次ポインタ(a)とKの前ポインタ(f)だけが400に変わる。他のポインタは変わらない。
ひっかけ
Aの前ポインタ(b)やKの次ポインタ(e)も変わると考えるのが誤り。
この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)