双方向リストを三つの一次元配列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である要素は、それぞれ双方向リストの末尾、先頭を表す。・双方向リストへの要素の追加は、一次元配列の末尾に追加

双方向リスト挿入は前後2要素のリンクを張り替える

応用情報技術者試験2023年度 秋期 午前5/アルゴリズムとプログラミング / データ構造

双方向リストを表す3つの一次元配列。要素番号は1〜6で、6の列は破線で囲まれ「一次元配列の末尾」と注記された空欄(挿入先)。elem: [1]=A, [2]=F, [3]=D, [4]=B, [5]=E、[6]は空。next: [1]=4, [2]=0, [3]=5, [4]=3, [5]=2、[6]は空。prev: [1]=0, [2]=5, [3]=4, [4]=1, [5]=3、[6]は空。Head=1、Tail=2。したがってリストの並びはA(1)→B(4)→D(3)→E(5)→F(2)である。
双方向リストを表す3つの一次元配列。要素番号は1〜6で、6の列は破線で囲まれ「一次元配列の末尾」と注記された空欄(挿入先)。elem: [1]=A, [2]=F, [3]=D, [4]=B, [5]=E、[6]は空。next: [1]=4, [2]=0, [3]=5, [4]=3, [5]=2、[6]は空。prev: [1]=0, [2]=5, [3]=4, [4]=1, [5]=3、[6]は空。Head=1、Tail=2。したがってリストの並びはA(1)→B(4)→D(3)→E(5)→F(2)である。

選択肢

正解と解説

正解: next[6]=5, prev[6]=3

挿入前は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/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。