双方向リストとは?
双方向リストとは、各要素が次の要素へのポインタに加えて前の要素へのポインタも持つ連結リスト。両方向にたどれるため、ある要素を指すポインタさえあれば前の要素を探し直さずに削除できる。ポインタが2本必要なぶん記憶領域は増える。
応用情報技術者試験の過去問では1回出題されています。
そうほうこうりすと
双方向リストの意味
各要素が次の要素へのポインタに加えて前の要素へのポインタも持つ連結リスト。両方向にたどれるため、ある要素を指すポインタさえあれば前の要素を探し直さずに削除できる。ポインタが2本必要なぶん記憶領域は増える。
双方向リストの具体例
A⇄B⇄Cという並びでBを削除するには、Aの「次」をCへ、Cの「前」をAへ張り替える。片方向リストなら「Bの前はA」を知るために先頭からたどり直す必要があるが、双方向ならBの前ポインタから即座に分かる。
双方向リストは試験でどう引っ掛けられる?
ポインタの張り替えは前後2か所を必ず両方直す必要があり、片方だけ直す手順の選択肢が誤答として出る。また先頭・末尾の要素では相手側のポインタがナルになる(環状リストなら先頭と末尾がつながる)点も問われる。
双方向リストと関連する用語
双方向リストが出た過去問
双方向リストを三つの一次元配列elem[i]、next[i]、prev[i]の組で実現する。双方向リストが図の状態のとき、要素Dの次に要素Cを挿入した後のnex…
正解:next[6]=5, prev[6]=3
要点:双方向リスト挿入は前後2要素のリンクを張り替える
挿入前はnext[3]=5、prev[5]=3なので、要素D(要素番号3)の次は要素E(要素番号5)である。この間に新しい要素Cを配列末尾の要素番号6として挿入するので、Cの前はD、Cの後はEになる。したがってnext[6]=5、prev[6]=3となる(あわせてnext[3]とprev[5]も6に更新される)。
出典:令和5年度 秋期 応用情報技術者試験 午前 問5(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。