アルゴリズムとプログラミング

基本情報技術者試験 科目A免除 修了試験 20121216 実施分 問5

双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員AとKの間に追加する。追加後の表のポインタa〜fの中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。
表
アドレス社員名次ポインタ前ポインタ
100社員A3000
200社員T0300
300社員K200100
追加後の表
アドレス社員名次ポインタ前ポインタ
100社員Aab
200社員Tcd
300社員Kef
400社員Gxy
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20121216 実施分 問5(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:ウ

覚える知識

双方向連結リストへの挿入操作

双方向リストへの挿入では、挿入位置の前要素の次ポインタと後要素の前ポインタだけを新要素に向け直す。

この問題で必要なこと

AとKの間にGを挿入すると、Aの次ポインタ(a)=400、Kの前ポインタ(f)=400に変わる。Aの前ポインタ(b)、Kの次ポインタ(e)、Tのポインタは変わらない。

ひっかけ

新要素のポインタ(x,y)や、前後の要素の反対側のポインタまで書き換わると考えさせる。

この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)。頻出知識ランキング255位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「連結リストの構造とポインタ操作」で学ぶ

同じ知識の過去問