修了試験 2019-12-08実施分 基本情報技術者試験 問8
双方向のポインタをもつリスト構造のデータを表に示す。 この表において新たな社員Gを社員Aと社員Kの間に追加する。 追加後の表のポインタa~fの中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。 〔表〕 アドレス|社員名|次ポインタ|前ポインタ/100|社員A|300|0/200|社員T|0|300/300|社員K|200|100 〔追加後の表〕 アドレス|社員名|次ポインタ|前ポインタ/100|社員A|a|b/200|社員T|c|d/300|社員K|e|f/400|社員G|x|y
正答3
解説
正解は3です。 双方向リストでは、各要素が次の要素を指す次ポインタと、前の要素を指す前ポインタをもちます。 追加前の表では、アドレス100の社員A、300の社員K、200の社員Tの順につながっています。 【計算】 Gはアドレス400に格納し、AとKの間に入れます。 Aの次ポインタaは、300から400に変わります。 Aの前ポインタbは、先頭を示す0のままです。 Tの次ポインタcとその前ポインタdは、Tの前後が変わらないので0と300のままです。 Kの次ポインタeは、Tを指す200のままです。 Kの前ポインタfは、100から400に変わります。 Gにはx=300、y=100を設定します。 【選択肢別解説】 1:× bはAの前ポインタで、先頭のため0のままです。 eもKの次ポインタでTを指したまま変わりません。 2:× eはKの次ポインタで、200のまま変わりません。 変わるのはaとfだけです。 3:○ Aの次ポインタaとKの前ポインタfだけが、Gのアドレス400に変わります。 4:× bとeはどちらも変わりません。 実際に変わるaとfが含まれていません。 【ポイント】 双方向リストに1件挿入すると、前の要素の次ポインタと、後ろの要素の前ポインタの2か所が変わります。まとめて解く
修了試験 2019-12-08実施分を通しで解く(80問)→