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