目次> 第13章 TOPUPPREVNEXT

第13章 整列

【目次】
  1. 配列に読込んだデータの整列
  2. 整数配列のソート
  3. 文字列の配列のソート
  4. TreeSet クラス と Iterator インターフェース
  5. Comparator インターフェース と 多重キー
【テーマ】
データをある基準で並べ替えることを、 整列 sort あるいはソートといいます。古い文献では、分類と訳されています。
データの数が少ない場合には、やり方の巧拙はあまり関係がありませんが、 データ件数が多くなるにつれて、違いが明白になります。大雑把にいって、 へたなやり方だと、データ件数の2乗に比例する手間がかかるのですが、 うまくやると、データ件数の N × log N に比例する手間に押さえられます。どのぐらいの差かは、 以下の表を参考にしてください。
2N×log2
10 10033
100 10,000664
1000 1,000,0009,966
10,000 100,000,000132,877
 100,000  10,000,000,000 1,660,964

ここでは、データ件数が100件をこえないケースを想定して、 「へたなやり方」のひとつを実際にプログラミングしてみましょう。
「へたなやり方」は不満だという方は、 寄り道 をしてみましょう。。

プログラミングの練習のためには寄り道をして、アルゴリズムを理解したり実際にプログラムをし、 テスト・データで動作を確認することが大切ですが、 Javaには様々が仕掛けが用意されていて、実際に自分でソートする必要はありません。 そのうちの、TreeSet クラスを利用したソート等を紹介します。 Iterator インターフェースや Comparator インターフェースになじんでください。


更新日:2004-12-18