アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20150125 実施分 問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免除 修了試験 20150125 実施分 問5(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:ウ
覚える知識
双方向連結リストへの挿入操作
双方向リストでは、挿入位置の前要素の次ポインタと後要素の前ポインタを新要素に付け替える。
この問題で必要なこと
AとKの間にGを挿入すると、Aの次ポインタ(a)とKの前ポインタ(f)の2つだけが400に変わる。Gの値はx,yで別に設定する。
ひっかけ
Gの前後関係を考えず、AとKのすべてのポインタが変わると考えさせる。
この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)。頻出知識ランキング255位(全1,254件中)。