基本情報技術者講座の講師ブログ

連結リストの考え方

連結リストとは、データ構造の一つです。
連結リストは、ポインタという次のデータの位置を示した情報を保持しています。
たとえば、以下のようにエピソード(EP)1から9まである映画を例にします。
以下はエピソード順に並んでいます。これを公開順に並べるためのポインタが左にある数字です。

40・EP1
50・EP2
60・EP3
10・EP4
20・EP5
30・EP6
70・EP7
80・EP8
90・EP9

これをポインタに従って並び替えると以下のようになります。
これで公開順に並び替えることができます。

10・EP4
20・EP5
30・EP6
40・EP1
50・EP2
60・EP3
70・EP7
80・EP8
90・EP9

ここにスピンオフ作品も追加してみましょう。
作品としての時系列としては、EP3とEP4の間に入る作品です。
作品の公開日としては、EP7の後になります。

「75・スピンオフ」を追加すると以下のようになります。

40・EP1
50・EP2
60・EP3
10・EP4
20・EP5
30・EP6
70・EP7
80・EP8
90・EP9
75・スピンオフ

それをポインタに従って並び替えると以下となります。

10・EP4
20・EP5
30・EP6
40・EP1
50・EP2
60・EP3
70・EP7
75・スピンオフ
80・EP8
90・EP9

最近は、過去作品の続編映画の公開が多いので、それらを例にしてリストを考えてみましょう。