リストと配列表現の対応

現在のリストはA→E→C→G…の順です。H(添字8)を3番目のCと4番目のGの間へ入れるには、$\mathrm{next}[8]$をGの添字7にするので、正解はウです。 $\mathrm{next}[0]=1$からリンクをたどると1→5→3→7となる。 3番目の要素Cは添字3、4番目の要素Gは添字7である。 添字8のHを間へ挿入するため、$\mathrm{next}[3]=8$、$\mathrm{next}[8]=7$とする。

リストを二つの1次元配列で実現する。配列要素box[i]\mathrm{box}[i]とnext[i]\mathrm{next}[i]の対がリストの一つの要素に対応し,box[i]\mathrm{box}[i]に要素の値が入り,next[i]\mathrm{next}[i]に次の要素の番号が入る。配列が表の状態の場合,リストの3番目と4番目との間に値がHである要素を挿入したときのnext[8]\mathrm{next}[8]の値はどれか。ここで,next[0]\mathrm{next}[0]がリストの先頭(1番目)の要素を指し,next[i]\mathrm{next}[i]の値が0である要素はリストの最後を示し,next[i]\mathrm{next}[i]の値が空白である要素はリストに連結されていない。

0

1

2

3

4

5

6

7

8

9

box

A

B

C

D

E

F

G

H

I

next

1

5

0

7

3

2

出典平成30年度 春期 基本情報技術者試験 午前 問6
ア
3
イ
5
ウ
7
エ
8