ソートのプログラムに関するページ

ソート・デモを見るには、Javaアプレットが動作するブラウザが必要です。 Javaのバージョンは1.1以上です。

このアプレットは、「C言語体当たり学習徹底入門」の ソート・デモのページをベースに いくつかのソート方法を追加したものです。

各ボタンの使い方は以下の通りです。

  • 「shuffle」...全体をシャッフルし、ぐちゃぐちゃの状態にします。
  • 「select」...単純選択ソートでソートします。
  • 「bubble」...バブルソートでソートします。
  • 「shaker」...シェーカーソートでソートします。
  • 「insert」...挿入ソートでソートします。
  • 「heap」...ヒープソートでソートします。
  • 「quick」...クイックソートでソートします。
  • 「merge」...マージソートでソートします。

    左右でごちゃごちゃ動いている短い棒は、 「ここの値とここの値を比較している」ことを意味します。

    この短い棒を表示しないと、 単純選択ソートが非常に高速であるかのように見えてしまいます。

    このアプレットでは、時間がかかるのはほとんど画面への描画であり、 単純選択ソートはデータの移動回数が最も少ないため、 画面の更新の必要が少ないからです。

    ...そういう意味では、このデモから読み取れる各ソート法の速度は 結構恣意的なものであると言えます。ひとつの目安として考えてください。

    Javaのソースを公開します。 このページで使用しているデモ用のアプレットと、 本書中のベンチマークで使用したプログラムです。 単にアルゴリズムを見たいのであれば、 ベンチマーク用のプログラムの方が余計なものが入っていないだけ読みやすいでしょう。

    このプログラムについては、改変・再配布等、 ご自由に行なっていただいて構いません。

    注:
    現時点で、MS-IEでtgz形式のファイルをダウンロードすると、 gzipが展開されてしまい、かつ、拡張子は変わらない、という現象が起きています。 .tgzをtar展開するか、lzh側を使用してください。


    「センス・オブ・プログラミング!」のページに戻る | トップページに戻る