復習と現状と将来
夏休み明けの1回目の講義であったため、説明を中心に行う。 オブジェクト指向の用語を改めて説明し、最近のトピックを紹介する。
将来といっても、先端の状況は知らないので、 学生さんが企業で耳にするであろう用語を紹介する。 デザインパターン、リファクタリング、Xp(エクストリーム・プログラミング)
vi エディタで hjkl がカーソル移動となった理由
blog 系の記事の中から見付けたネタ。 unix を触っていて、vi エディタはやっぱり大好きなエディタ。 大量の微妙な置換があると、今でも vi を使ってしまう。 んで、vi で hjkl がカーソルになったのか、 『〜』がホームを表すようになった理由、どちらも Bill Joy が使っていた端末が ADM-3a というものであったため。
# へぇ♪、へぇ♪、へぇ♪、へぇ♪、へぇ♪、
# へぇ♪、へぇ♪、へぇ♪、へぇ♪、へぇ♪、
# へぇ♪、へぇ♪、へぇ♪、へぇ♪、へぇ♪、
# へぇ♪、へぇ♪、へぇ♪、へぇ♪、 へぇ♪、
双方向リスト
前半は、夏休み前の復習を兼ねて、リスト処理のおさらいを行う。 同じネタばかりでは新鮮みがないので、 リスト宣言で typedef を使う宣言例も説明を行う。 プログラムの説明の中で、malloc が NULL を返したら何が発生するか を説明し『ぬるぽ』の語源を解説。
双方向リストでは、最初にエディタの事例を紹介し、前方参照の必要性を説明。 その後、双方向リストを説明し、
- 双方向リストセル生成関数 bdcons() を作成、
- bdcons を使って、3要素のリスト生成と繋ぎ替えを説明。
- 双方向リストの途中にデータを挿入する insert() を記述。
- insert をリストの先頭で実行した場合の例から、番兵のテクニックを紹介。
- 番兵のセルの節約の例として、循環双方向リストを説明する。