• ベストアンサー

qsortの先頭のqの意味

C言語の関数にqsortというのがありますが最初のqはどういう意味でしょうか 順番に並べ替えるだけならsortでいいと思うのですが、どういう経緯でqが先頭についているのでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

もともとはクイックソートの意味だったはず. 今では全くもって無意味ですが.

nanako_04
質問者

お礼

> 今では全くもって無意味ですが. そういうことなのですね。 ありがとうございました。

その他の回答 (3)

回答No.4

glibcによると、"The qsort function derives its name from the fact that it was originally implemented using the “quick sort” algorithm. "と書いてあるので、やはりquick sortのqだと思います。 http://www.gnu.org/s/hello/manual/libc/Array-Sort-Function.html#Array-Sort-Function しかしながら、C99の規格を見るかぎり、何のアルゴリズムを使うかは規定されていませんね。qsortが規格化されたC89の規格を閲覧することはできませんでしたが、元々はquick sortだったけれど、関数の仕様で具体的なアルゴリズムまで規定する必要はないのでその縛りを外したということかもしれません。

nanako_04
質問者

お礼

> 元々はquick sortだったけれど、関数の仕様で具体的なアルゴリズムまで規定する必要はないのでその縛りを外したということかもしれません。 わかりました。 ありがとうございます。

回答No.2

クイックソートだからです。 http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=qsort&dir=jpman-9.0.2%2Fman§=0 マニュアルを見ると分かる通り、この他にheapsort、mergesort、radixsortもあります。 詳しい話はアルゴリズムの教科書にまかせますが、それぞれ得手不得手があるのでそれを理解した上で使うとよいでしょう。

nanako_04
質問者

お礼

えーと、これは特定の環境でのマニュアルですよね?

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

たしかクイックソート(quick sort)のqだったかと。

nanako_04
質問者

お礼

必ずしもクイックソートではないという話を聞いたことによる疑問です。 初期のころはクイックソートで実装されていたということでしょうか。

関連するQ&A