IPA過去問ドリル

平成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 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成22年度 春期 基本情報技術者試験 午前 問5

正解:ウ

解説

元の並びはA(100)→K(300)→T(200)で,AとKの間にG(400)を挿入すると,A→G→K→Tという並びになります。挿入に伴い変化するのは,Aの次ポインタ(300→400,すなわちa)とKの前ポインタ(100→400,すなわちf)だけで,それ以外のb,c,d,eは元の値のまま変わりません。

選択肢ごとの解説

  • 誤り。bとeは挿入前後で値が変わらないポインタであり,変化するものとして含めるのは誤りです。
  • 誤り。eは挿入前後で値が変わらないため,変化するポインタに含めるのは誤りです。
  • 正しい。Aの次ポインタa(300→400)とKの前ポインタf(100→400)だけが変化し,ほかのポインタは変わりません。
  • 誤り。bとeはいずれも挿入前後で値が変わらないポインタです。
基本情報技術者の過去問を演習モードで解く