前半は、夏休み前の復習を兼ねて、リスト処理のおさらいを行う。 同じネタばかりでは新鮮みがないので、 リスト宣言で typedef を使う宣言例も説明を行う。 プログラムの説明の中で、malloc が NULL を返したら何が発生するか を説明し『ぬるぽ』の語源を解説。
双方向リストでは、最初にエディタの事例を紹介し、前方参照の必要性を説明。 その後、双方向リストを説明し、
- 双方向リストセル生成関数 bdcons() を作成、
- bdcons を使って、3要素のリスト生成と繋ぎ替えを説明。
- 双方向リストの途中にデータを挿入する insert() を記述。
- insert をリストの先頭で実行した場合の例から、番兵のテクニックを紹介。
- 番兵のセルの節約の例として、循環双方向リストを説明する。