2023年 秋期 応用情報技術者 午前 問5

双方向リストを三つの一次元配列elem[i]、next[i]、prev[i]の組で実現する。 双方向リストが図の状態の時、要素Dの次に要素Cを挿入した後のnext[6]、prev[6]の値の組合せはどれか。 ここで、双方リストは次のように表現する。

  • 双方向リストの要素はelem[i]に値、next[i]に次の要素の要素番号、prev[i]に前の要素の要素番号を設定
  • 双方向リストの先頭、末尾の要素番号は、それぞれ変数Head、Tailに設定
  • next[i]、prev[i]の値が0である要素は、それぞれ双方向リストの末尾、先頭を表す。
  • 双方向リストへの要素の追加は、一次配列の末尾に追加

next[6] prev[6]
2 3
3 4
5 3
5 4


答え ウ


解説
図から双方向リストのデータの並びは以下のようになっている。
 Head→A↔B↔D↔E↔F←Tail
要素Dの次に要素Cを追加するので、双方向リストは
 Head→A↔B↔D↔C↔E↔F←Tail
になり、Cの次の要素は5番目のE、前の要素は3番目のDなので、next[6]、prev[6]に入るのは

next[6] prev[6]
5 3
になる。


キーワード
・連結リスト

キーワードの解説
  • 連結リスト
    データ構造の一種で、データのリストの中に次のリストを示すリンク(ポインタ)を持っている。
    片方向リスト片方向リスト

    双方向リスト双方向リスト

もっと、「双方向リスト」について調べてみよう。

戻る 一覧へ 次へ