From: maeda shugo Date: 1997-06-15T10:00:03+09:00 Subject: [ruby-list:3131] extention module - collection 前田です。 collection-1.0.{tar.gz|README}をin.comingにputしましたので よろしくお願いします。>まつもとさん collectionといいつつ中身は以下の二つだけです:-p OrderedCollection 各要素が一意に順序づけられているコレクションクラスです。Arrayとの違いは 順序が、整数インデックスではなく、各要素の相対的な位置によって決定されて いる点です。 SortedCollection SortedCollectionは常にソートされた状態を保ち続けるコレクションです。 addするだけで要素は適切な場所に挿入されます。ソートの仕方は@sort_block というインスタンス変数にProcオブジェクトを与えることで変更すること ができます。 土壇場で大幅な変更を加えたのでバグってるかもしれません。 # さっき既に無意味なgotoを見つけました:-) # 最初basenodeを使うことを思い付かずに、最初と最後のノードを # 特別扱いしていた名残です。 性能的にはおおむねArrayよりかなり劣っています。 挿入ソートなのでsortも遅いです。 # 双方向リストで使える速いソートアルゴリズムありませんか? 伸縮自在なこと(先頭に追加しつづけたりできる)と挿入のコストが 小さいことが利点です。 キューとかに使うと便利かもしれません。 -- 前田 修吾