基本情報技術者試験 - 令和7年7月修了 - 問5

双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタ a~f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。

表
アドレス社員名次ポインタ前ポインタ
100社員A3000
200社員T0300
300社員K200100

追加後の表
アドレス社員名次ポインタ前ポインタ
100社員Aab
200社員Tcd
300社員Kef
400社員Gxy
アa,b,e,f
イa,e,f
ウa,f
エb,e
答え : ウ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › データ構造
同一問題 : 〔令5公問2〕〔令4修7問8〕〔令1修12問8〕〔平28修7問6〕〔平27修1問5〕〔平24修12問5〕〔平22春問5〕
解説 :
双方向リスト構造にデータを挿入する際,どのポインタが変化するかを問うものです。もとのリストは社員A(アドレス100)→社員K(アドレス300)→社員T(アドレス200)という順番で繋がっており,それぞれ次ポインタと前ポインタを持っています。

ここに新たに社員Gを社員Aと社員Kの間に追加します。挿入後,社員Aの次は社員Gになるため,社員Aの次ポインタ(a)が400(社員Gのアドレス)に変わります。また,社員Kの前は社員Gになるため,社員Kの前ポインタ(f)が400に変わります。一方,社員Aの前ポインタ(b)や社員Kの次ポインタ(e)は挿入前後で変化しません。社員Tに関するポインタ(cとd)も,社員Tの前後関係は変わらないため変化しません。従って,値が変わるのはaとfの2つだけであり,正解は選択肢「ウ」です。

誤りの選択肢は,挿入によって影響を受けないポインタまで変わると誤って判断した場合に選びやすいものです。リスト構造の挿入操作では,挿入位置の前後の要素のポインタだけが更新されることを理解することが重要です。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる