「AP過去問 令和5年度秋期 午前 問5」の版間の差分

提供:yonewiki
(ページの作成:「AP過去問 令和6年度春期 午前 問題に戻る AP過去問 令和6年度春期 午前 問4前の問題へ AP過去問 令和6年度春期 午前 問6次の問題へ   =='''問5(問題文)'''==  双方向リストを三つの一次元配列 elem[i]、next[i]、prev[i] の組で実現する。双方向リストが図の状態のとき、要素Dの次に要素Cを挿入した後の next[6]、prev…」)
 
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
[[AP過去問 令和6年度春期 午前#問題|AP過去問 令和6年度春期 午前 問題]]に戻る
[[AP過去問 令和5年度秋期 午前#問題|AP過去問 令和5年度秋期 午前 問題]]に戻る


[[AP過去問 令和6年度春期 午前 問4]]前の問題へ
[[AP過去問 令和5年度秋期 午前 問4]]前の問題へ


[[AP過去問 令和6年度春期 午前 問6]]次の問題へ
[[AP過去問 令和5年度秋期 午前 問6]]次の問題へ


 
 
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である要素は、それぞれ双方向リストの末尾、先頭を表す。


双方向リストへの要素の追加は、一次元配列の末尾に追加
*双方向リストへの要素の追加は、一次元配列の末尾に追加




ア 
[[ファイル:AP R5 2Fall AMQ5 Fig1.png|400px||none|]]


イ 
 
 
=='''回答・解説'''==
 アルファベット順とは関係なく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>


=='''回答・解説'''==


 が答えです。


 
 




[[AP過去問 令和6年度春期 午前 問4]]前の問題へ
[[AP過去問 令和5年度秋期 午前 問4]]前の問題へ


[[AP過去問 令和6年度春期 午前 問6]]次の問題へ
[[AP過去問 令和5年度秋期 午前 問6]]次の問題へ


[[AP過去問 令和6年度春期 午前#問題|AP過去問 令和6年度春期 午前 問題]]に戻る
[[AP過去問 令和5年度秋期 午前#問題|AP過去問 令和5年度秋期 午前 問題]]に戻る

2025年4月16日 (水) 20:37時点における最新版

AP過去問 令和5年度秋期 午前 問題に戻る

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


AP R5 2Fall AMQ5 Fig1.png

 

回答・解説

 アルファベット順とは関係なく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次の問題へ

AP過去問 令和5年度秋期 午前 問題に戻る