双方向リストへのデータ追加

双方向リストのAとKの間にGを挿入すると、Aから次へ進む参照先と、Kから前へ戻る参照先だけが、既存ポインタの中で変化します。 追加前: A(100)の次はK(300)、Kの前はA(100)です。リスト全体はA⇔K⇔Tです。 追加後: A⇔G⇔K⇔Tとなります。Aの次ポインタaは300から400へ、Kの前ポインタfは100から400へ変わります。Gの次ポインタxは300、前ポインタyは100です。 変わらない値: Aの前ポインタb=0、Tの次ポインタc=0、Tの前ポインタd=300、Kの次ポインタe=200は変更されません。 ア: aとfは変わりますが、bとeはそれぞれ0と200のままなので、変更対象に含めるのは誤りです。 イ: aとfは変わりますが、eは変わりません。また、変更されるfが必要です。 ウ:正解。 既存データのうち変更されるのは、Aの次ポインタaとKの前ポインタfだけです。 エ: bとeはいずれも追加前の値を維持します。挿入位置に向いていない側のポインタは変更不要です。

双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員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

出典令和5年度 秋期 基本情報技術者試験 科目A 問2
ア
a, b, e, f
イ
a, e, f
ウ
a, f
エ
b, e