ルギア君の戯言

雑多な記事。

バブルソート

とある大学のとある学科のある授業(笑)でバブルソートのアルゴリズムを使った課題が出てますが、こんな問題は解けますか。

ここに、日本語で10文字以下の名前をもつ1000人以下の学生がいる。
学生の情報として、名前の他に、10文字以下の読み仮名と、学年、数学の成績(100点満点)、物理の成績(数学同様)、英語の成績(数学同様)がある。
日本語は Unicode で実行することを考え、1文字に付き3バイト確保するものとする。
このとき、

  1. まずは、名前の順。
  2. 名前の読み方が同じ人たちは漢字の文字コード順で。
  3. もし、それも同じひとがいるなら、学年が低い順。
  4. それも同じなら、数学の成績がよい順
  5. 以下同じ。

で並び替えるプログラムを作りなさい。
言語は自由。
なお、データは上に掲示した順番に記録してある CSV (カンマ区切り)ファイルから読み込むものとする。

まあ、バブルソートといえば、こういうアルゴリズムだから、変える場所が決まってきて意味がないんだよな。