[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:07541] Re: stable-sort について



なかだです。

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 &amp;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 &amp;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はできる。
    中田 伸悦

Index Home