過去問解きまくり研究所 ホーム

令和5年度 科目A 問2

データ構造

ポインタだけを全て列記したもの

双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員 G を社員 A と社員 K の間に追加する。追加後の表のポインタ a ~ f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。

表

アドレス社員名次ポインタ前ポインタ
100社員 A3000
200社員 T0300
300社員 K200100

追加後の表

アドレス社員名次ポインタ前ポインタ
100社員 Aab
200社員 Tcd
300社員 Kef
400社員 Gxy
答えと解説を見る

✓ これが正解ウa,f

解説

変わるのは社員Aの次ポインタaと社員Kの前ポインタfです。

双方向リストでは、各要素が次の要素を指す次ポインタと、一つ前の要素を指す前ポインタの二つをもちます。見分ける軸は、新しい要素を挟み込む位置の両隣で、どのポインタが新しい要素を指すように付け替わるかです。追加前は、アドレス100の社員Aの次がアドレス300の社員K、社員Kの前が社員Aでした。社員Gをアドレス400に置いて二人の間に入れると、社員Aの次ポインタは300から400に、社員Kの前ポインタは100から400に変わります。社員Aの前ポインタ0、社員Kの次ポインタ200、社員Tの二つのポインタは、つながり方が変わらないのでそのままです。社員G自身の次と前はそれぞれ300と100になりますが、問われているaからfには含まれません。挿入では、挟む二つの要素の向かい合うポインタだけが書き換わると覚えておくと、素早く絞れます。

ほかの選択肢はなぜ違うのか

出典:令和5年度 基本情報技術者試験 科目A 問2

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)