• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Perl のソート関数)

Perlのソート関数の内部構造とは?

このQ&Aのポイント
  • Perlのソート関数の内部構造について、質問者が理解できていない点があります。
  • Perlの解説本やホームページを参考にしたが、ほとんどのユーザーがソート関数の使い方を丸覚えにしており、詳しい解説がない。
  • ソート関数の$aと$bには、配列の値が比較される際に呼び出されるが、具体的にはどのようなタイミングでそれらが入ってくるのか疑問がある。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> 当たり前に考えれば、ソート関数というものは全てをユーザーに任せて関数を書かせるか、でなければフルオートで全てやってく > れるソート関数を用意するか、どちらか1方しかないはずです。 そのふたつ以外に、もうひとつ当たり前があります。 ソートは、要素の大小比較をして、逆転していれば要素を入れ替える、という ことをやるわけですが、「要素の大小比較」というのは、ときと場合によって いろいろ変わります。 というわけで、その変わるところ、つまり「やり方」をソート関数に渡すという 方法があります。 これは perl に限ったことでは無いのですが、(もう、古い言い方なんですが) コールバック処理と言います。 ある処理(この場合は大小比較)を呼び出す側で用意して、何らかの処理(ソート) から呼び出す、つまり、呼び戻すように見えることから、この名前がついています。 処理自体を指定する手段がある言語の標準的なソートは、大体こういう形式 になってます。私が知っているところだと C/C++、ruby なんかがそうです。

noname#25358
質問者

お礼

 ありがとうございます。  もしかして、比較結果で入れ替えるかどうか判断してるだけなんでしょうか(笑)  だとしたら俺は何を悩んでいたのだろう(^_^;

関連するQ&A