22.5 課題 22

cd c を実行した後で( ~/c に移動した後で )、以下の課題を やってみよ。

課題 22.1
片方向リンクトリスト

片方向リストの例(「より柔軟なリスト」を参照)を用いて、 ユーザーが入力した文字列を記憶し、入力終了後それらを順に出力する プログラムを作成せよ。但し、入力の終わりは ^D であると する。

課題 22.2
双方向リンクトリスト

22.1 の課題を改良し、双方向リンクドリストへと変更せよ。 その上で、入力された文字列を逆順に表示するプログラムを作成せよ。

課題 22.3
リストの応用 I

課題 21.3 を改良し、学生データをリストへと格納するように せよ。また、通年成績も学生データ構造に格納するようにせよ。

課題 22.4
リストの応用 II

課題22.3 を改良し、学生データのリストを通年成績の良いもの順に 並べ替えるようにせよ(並べ替え用の関数を作成せよ)。最後に、 成績順に出力するようにせよ。

但し、並べ替えのアルゴリズムには色々なものが考えられるが、ここで は単純に、学生データが登録されたリストをAとすると、別のリストBを作り、 Aのリストの中で成績が最高のものを A から B に移し変えるようにし よう。こうすると、Aからは最高の成績のものがいなくなるので、当然 2番目に成績の良いものが A の中では最高の成績となっているので、 先ほどの手順を繰り返し、A の中の最高の成績のものを B のリストの 末尾に付け加えるようにする。これを繰り返せば自動的にリストB には 成績順に並んだリストが出来ているという訳である。

作成したプログラムをメイルで creport まで送りなさい。題は、kadai22 とする事。



最初のページ 戻る 目次
Hiroyasu Asami