「AP過去問 令和5年度秋期 午前 問5」の版間の差分
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の1版が非表示) | |||
10行目: | 10行目: | ||
双方向リストを三つの一次元配列 elem[i]、next[i]、prev[i] の組で実現する。双方向リストが図の状態のとき、要素Dの次に要素Cを挿入した後の next[6]、prev[6] の値の組合せはどれか。ここで、双方向リストは次のように表現する。 | 双方向リストを三つの一次元配列 elem[i]、next[i]、prev[i] の組で実現する。双方向リストが図の状態のとき、要素Dの次に要素Cを挿入した後の next[6]、prev[6] の値の組合せはどれか。ここで、双方向リストは次のように表現する。 | ||
双方向リストの要素は、elem[i]に値、next[i]に次の要素の要素番号、prev[i]に前の要素の要素番号を設定 | *双方向リストの要素は、elem[i]に値、next[i]に次の要素の要素番号、prev[i]に前の要素の要素番号を設定 | ||
双方向リストの先頭、末尾の要素番号は、それぞれ変数Head、Tailに設定 | *双方向リストの先頭、末尾の要素番号は、それぞれ変数Head、Tailに設定 | ||
next[i]、prev[i]の値が0である要素は、それぞれ双方向リストの末尾、先頭を表す。 | *next[i]、prev[i]の値が0である要素は、それぞれ双方向リストの末尾、先頭を表す。 | ||
双方向リストへの要素の追加は、一次元配列の末尾に追加 | *双方向リストへの要素の追加は、一次元配列の末尾に追加 | ||
24行目: | 24行目: | ||
=='''回答・解説'''== | =='''回答・解説'''== | ||
アルファベット順とは関係なくDの次にCを入れるというちょっとややこしい問題ですが、落ち着いて考えれば解けます。 | |||
Headが1なので要素1が先頭です。要素はAです。先頭なのでPrev(前)に0が設定されていて、Next(次)に4が設定されています。 | |||
Aの次の要素は4番目のBです。BのPrevは1であってますね。Nextに3が設定されています。 | |||
Bの次の要素は3番目のDです。DのPrevは4であってますね。Nextに5が設定されています。 | |||
Dの次の要素は5番目のEです。EのPrevは3であってますね。Nextに2が設定されています。 | |||
Eの次の要素は2番目のFです。FのPrevは5であってますね。最後なので、Nextに0が設定されています。 | |||
順番をまとめると、A→B→D→E→Fになっています。これをA→B→D'''→C→'''E→Fにするというのが問題です。 | |||
Cは次のEを参照するので5が入ります。Cの前のDを参照するのでPrevには3が入ります。 | |||
したがって | |||
<span style = "background:linear-gradient(transparent 75%, #7fbfff 75%); font-weight:bold; "> | |||
ウ</span> | |||
が答えです。 | |||
2025年4月16日 (水) 20:37時点における最新版
AP過去問 令和5年度秋期 午前 問4前の問題へ
AP過去問 令和5年度秋期 午前 問6次の問題へ
問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である要素は、それぞれ双方向リストの末尾、先頭を表す。
- 双方向リストへの要素の追加は、一次元配列の末尾に追加
回答・解説
アルファベット順とは関係なくDの次にCを入れるというちょっとややこしい問題ですが、落ち着いて考えれば解けます。
Headが1なので要素1が先頭です。要素はAです。先頭なのでPrev(前)に0が設定されていて、Next(次)に4が設定されています。
Aの次の要素は4番目のBです。BのPrevは1であってますね。Nextに3が設定されています。
Bの次の要素は3番目のDです。DのPrevは4であってますね。Nextに5が設定されています。
Dの次の要素は5番目のEです。EのPrevは3であってますね。Nextに2が設定されています。
Eの次の要素は2番目のFです。FのPrevは5であってますね。最後なので、Nextに0が設定されています。
順番をまとめると、A→B→D→E→Fになっています。これをA→B→D→C→E→Fにするというのが問題です。
Cは次のEを参照するので5が入ります。Cの前のDを参照するのでPrevには3が入ります。
したがって
ウ
が答えです。
AP過去問 令和5年度秋期 午前 問4前の問題へ
AP過去問 令和5年度秋期 午前 問6次の問題へ