mallocの課題で、独学でリスト構造を勉強している人が、すでにリスト構造で 課題を提出してきたひともいたりするんだが….
前回の講義に引き続き、必要に応じてメモリを確保するリスト構造について 説明を行う。list要素の全印刷の説明のあと、簡単なサンプルプログラムを 黒板で書いてもらう。int sum(List*); int max(List*); int find(List*,int); などの プログラムを出題するが、次に説明する予定の再帰によってプログラムを 書く人もいて、授業に熱心な人が増えている結果だと思える。
ループによるsum,max,findの後、再帰によって処理の例を示す。 再帰によるプログラミングは、単純リスト構造ではあまり必要ではないが、 再帰関数の処理速度のオーダなどの説明でも、再帰に慣れてほしいし、 後で出てくる2分木構造での導入にもなるので、解説を行った。
データ構造の宣言の説明では、古い教科書でtypedefを使った宣言の例も多いので、 typedefによるList宣言や、C++での構造体タグ名が型名として使えることを説明する。