Array.prototype.sort は安定でないことがある

JavaScript の Array.prototype.sort は安定でないことがある様子
1
ショ糖 @cho45

Chrome の Array.prototype.sort は安定じゃないんだなー

2010-07-21 01:21:57
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

@cho45 というかJavaScriptのsortが不安定です。以前Ecmaの仕様書読んで、そのように書いてありました。

2010-07-21 01:23:37
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

と思ったんだけどいまいち記憶があやふやなのでもう一度仕様書を読んでいる。

2010-07-21 01:25:32
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

ECMA-262の15.4.4.11 Array.prototype.sort (comparefn) に The sort is not necessarily stable って書いてあった。ほっ。

2010-07-21 01:27:51
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

でも処理系によってはsortの第2引数で安定ソートにできるのか。

2010-07-21 01:28:42
Atsushi Takayama @edvakf

@piro_or 不安定は Chrome と Opera だけですね。

2010-07-21 01:31:09
ショ糖 @cho45

@piro_or: 実装依存じゃなくてですか?

2010-07-21 01:31:19
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

@edvakf 以前Firefox(3.5だったかな)で結果が不安定になってC++の場合と結果が一致しなかった事があって調べたのです

2010-07-21 01:32:34
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

@cho45 http://twitter.com/edvakf/status/19006336765 だそうなんですが、まあ、仕様上は不安定でもおかしくないということで…… 全くのゴミ情報失礼しました。

2010-07-21 01:34:48
ショ糖 @cho45

Opera も不安定なんだ……

2010-07-21 01:35:38
ショ糖 @cho45

安定と決めてくれればよかったのになあ。一部の不安定なブラウザのために安定化するコードいれて全ブラウザで遅くなるとかだとウケる

2010-07-21 01:43:33
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

@cho45 先日話してたんですが、ECMAの仕様は元々JavaScriptとJScriptの共通部分を抜き出して策定されたからか、低機能な方に合わせてあるみたいなんですよね……

2010-07-21 01:47:05