ITの基礎知識|ITパスポート・基本情報

基本情報技術者 令和5年公開問題 科目A 問2

2026.07.15

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

  • ア a,b,e,f
  • イ a,e,f
  • ウ a,f
  • エ b,e

Show answer

正解: ウ

解説:

現在の並び順は「社員A(100)→社員T(200)」で、社員K(300)は前ポインタが100(社員Aを指す)、次ポインタが200(社員Tを指す)となっている。つまり実際の並びは A → K → T である(表の記載順ではなく、ポインタが示す論理的な順序に注意)。

ここに社員G(400)を「社員Aと社員Kの間」に挿入すると、論理的な並びは A → G → K → T になる。

  • 社員A(100)の次ポインタ a は、これまで社員K(300)を指していたが、挿入後は社員G(400)を指すようになる → 変化する
  • 社員A(100)の前ポインタ b は、もともと0(先頭)のままで変化しない
  • 社員T(200)の次ポインタ c・前ポインタ d は、Gの挿入位置と無関係なので変化しない
  • 社員K(300)の次ポインタ e は、もともと社員T(200)を指しており、Gの挿入後も社員Kの次は社員Tのまま → 変化しない
  • 社員K(300)の前ポインタ f は、これまで社員A(100)を指していたが、挿入後は社員G(400)を指すようになる → 変化する
  • 社員G(400)の次ポインタ x は社員K(300)を、前ポインタ y は社員A(100)を指す(新規追加)

以上より、既存のポインタで値が変わるのは a と f のみで、正解はウ。

双方向リストへの挿入では「挿入位置の前後にあるノードの、挿入方向を向いているポインタだけ」が更新されるという性質を理解しているかが問われている。