• 締切済み

ソートのプログラム

Fortranなのですが、実数のソートプログラムを作る必要があります。 x(1),...x(20)ぐらいの配列に実数が入っていて小さい順番に並べるというものです。ソートプログラムは何種類かあると思います。数千回ぐらいやるので速いほうがいいです。 ソートプログラムのソースなどを公開しているサイトがないでしょうか。検索しても発見できませんでした。やっぱりサブルーチン集を買うなどするのがよいでしょうか。自分で作ってもよいですが、ネット上に公開されているようなものを収集して作ってみたいと思っています。 よろしくお願いします。

みんなの回答

回答No.5

参考までに、 データ数が20程度でしたら、クイックソートやヒープソートを使うよりも、挿入ソートや単純選択ソートのほうが速くソートできます。

  • --HV--
  • ベストアンサー率25% (5/20)
回答No.4

コンパイラによっては、コンパイラオリジナルの関数で ソートできそうですよ。 自分の環境のCompaqかIntelのFortranでは、可能でした。

回答No.3

個人的にはソートアルゴリズムの説明は http://www.nicovideo.jp/watch/nm5251176 の動画のほうが好きだなあ

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

Fortranはちょっと専門外ですが... http://ja.wikipedia.org/wiki/ソート いくつかのアルゴリズムが紹介されています。 Fortranではないですが、サンプルプログラムがついているものもあります。 Fortran以外の言語は御存じありませんか? CとかJavaで書かれたプログラム例は、検索でたくさんヒットします。 それらをFortranに移植するのはそんなに難しくないと思うのですが (再帰呼び出しを使うものを除いて) あと、最近のだと qsort が使えるみたいです。 下手にプログラム作るより安全で早いと思います。 http://www.hiroshima-cu.ac.jp/japanese/IPC/hunet99/sun/WorkShop/ja/html_docs/fortran/lib_ref/index.html

  • f272
  • ベストアンサー率46% (8469/18132)
回答No.1

「検索しても発見できませんでした」というのは、かなり検索能力に問題があります。 例えば「fortran 整列」で検索したら10秒でソースプログラムまでたどり着いたよ。

関連するQ&A