[xyzzy:07541] Re: stable-sort について
- Subject: [xyzzy:07541] Re: stable-sort について
- From: nobu.nokada@xxxxxxxxxxxx
なかだです。
At Tue, 18 Sep 2001 18:39:29 +0900,
大久保博之 <ohkubo@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
> 大久保です。
>
> At Tue, 18 Sep 2001 16:58:33 +0900
> 中田 伸悦 <nobu.nokada@xxxxxxxxxxxx> wrote:
> > sortした結果を捨てているからでしょう。
>
> すばやい回答ありがとうございました。
> xyzzy の ver. 0.2.1.181 の ChangeLog にもしっかりと、
>
> > 従来はたまたま (eq list (sort list)) だったが、そうではな
> > くなったので注意すること。
>
> と書いてありました。
> 不注意恥ずかしいかぎりです。
>
> 私はコードを書く際に、逸見さんを初めとした有志による「へなちょこリファ
> レンス作成計画」を大変便利に利用させていただいているので、
> [xyzzy:06854] に追従して、今後の自分のためにも reference.xml を補完・
> 更新しておきます。
じゃちょっと追加。sortとstable-sortの違いも書いておいたほうが
いいでしょう。
> <!-- xyzzy reference.xml --引用厳禁-->
> <chapter>
> <title>sort</title>
> <type>Function</type>
> <arguments>sequence predicate &key :key </arguments>
> <package>lisp</package>
> <description>
> sequenceをpredicateに従った順番に並び替えたものを返す。
> 元のsequenceは破壊される。(Version 0.2.1.181 以降)
sortは安定であることは保証されない。
安定なソートが必要なときはstable-sortを使うこと。
> <chapter>
> <title>stable-sort</title>
> <type>Function</type>
> <arguments>sequence predicate &key :key </arguments>
> <package>lisp</package>
> <description>
> sequenceをpredicateに従った順番に並び替えたものを返す。
> 元のsequenceは破壊される。
stable-sortは安定なソートを行う。
つまりpredicateによって同順と見なされる要素間の順序は、
ソート前と同じであることが保証される。
> ところで、sort ってどこで定義されているのでしょうか。
> よくわからなく<file></file> に書くことができませんでした。
stable-sortの実体はsequence.ccのFstable_sort()で、lisp上では
builtin.lでsi::defun-builtinされています。sortは同じくbuiltin.l
で、stable-sortの別名として定義されています。
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦