修了試験 2015-01-25実施分 基本情報技術者試験 問5
双方向のポインタをもつリスト構造のデータを表に示す。 この表において新たな社員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です。 双方向リストでは、各要素が次の要素を指す次ポインタと、前の要素を指す前ポインタをもちます。 追加前の並びは、次ポインタをたどると社員A(100)、社員K(300)、社員T(200)の順です。 【計算】 社員G(400)を社員Aと社員Kの間に入れると、並びはA、G、K、Tになります。 Aの次ポインタaは、300からGの400に変わります。 Aの前ポインタbは、先頭のため0のままです。 Tの次ポインタcは0、前ポインタdは300のままで変わりません。 Kの次ポインタeはTの200のままです。 Kの前ポインタfは、100からGの400に変わります。 したがって、値が変わるのはaとfです。 【選択肢別解説】 1:× bはAが先頭であることを示す0のままです。 eはKの次がTであることに変わりがなく、200のままです。 2:× eは変わりません。 Kの次の要素は追加後もTです。 3:○ Aの次がGになるのでa、Kの前がGになるのでfの二つだけが変わります。 4:× bとeは変わりません。 実際に変わるのはaとfです。 【ポイント】 双方向リストへの挿入では、挿入位置の前の要素の次ポインタと、後ろの要素の前ポインタの二つが書き換わります。 新しい要素自身のxとyには、それぞれ300と100を設定します。まとめて解く
修了試験 2015-01-25実施分を通しで解く(80問)→