コードが実行されているターゲット実装がわからない JavaScript (他の場所ではある程度適用可能) では、基になる並べ替えアルゴリズム (の) が安定しているかどうかを検出する機能があり、仕様Array.sort
に従っていることだけを知っています。 ?
webkit (1) (2)で 2 つのテストを見つけることができましたが、これらのテストの信頼性はどの程度ですか? (このチェックはPCPで行うことができますか?) 数学的に正しい解決策を探しています。
より高度なソート アルゴリズムでは、ソース配列の長さに応じてサブアルゴリズムを変更できるため (Timsort など)、これは難しい問題です。私が実行したすべてのテストでGoogle Chromeのソートが安定していることが示されているので、私は混乱していますが、私が見たすべてのドキュメントは、それが不安定であると述べています(ソースが理由を教えてくれます)。
(通常、私はこの戦略を使用してソートを安定させます。パフォーマンスへの影響は小さいですが、ときどき顕著になります)
さまざまな実装でソートするためのソース コード: