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