From: Shin-ichiro HARA Date: 2000-12-05T18:04:13+09:00 Subject: [ruby-list:26351] Re: COM sort? 原です。 こういうのをRubyで書いても、Rubyらしいの多重代入の部分ぐらい ですね。 class Array def combsort! gap = size done = false while gap > 1 or !done gap = gap * 10 / 13 gap = 1 if gap == 0 gap = 11 if gap == 9 or gap == 10 done = true for i in 0 ... size-gap if self[i] > self[i+gap] self[i], self[i+gap] = self[i+gap], self[i] done = false end end end self end end >まつもと ゆきひろです >クイックソートより速いと書いてあるページもありますね。 >実際にRubyのqsortを置き換えてみました。 >ある程度の大きさのファイルだと倍程度の実行時間がかかります。 >これを速いと見るか遅いと見るか。 stableソートとしては最速かも?