リストを二つの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]の値が空白である要素はリストに連結されていない。

f(){
 Aが空ならば{
  何もしない。
 }
 そうでない場合{
  Aからpopした値をCにpushする。
  f()を呼び出す。
  Cからpopした値をBにpushする。
 }
}

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