4
A
回答
3
Seq.sort是平穩的。
10
您的問題的答案是unstable
。
首先ResizeArray.sortBy
實現爲:
module ResizeArray =
let sortBy f (arr: ResizeArray<'T>) = arr.Sort (System.Comparison(fun x y -> compare (f x) (f y)))
而且ResizeArray
是對.NET列表集合別名:
type ResizeArray<'T> = System.Collections.Generic.List<'T> // alias
現在讓我們來看看List documentation:
這種方法使用Array.Sort,其中 使用QuickSort算法ithm。這個 執行執行不穩定的 排序;也就是說,如果兩個元素是 相等,則它們的順序可能不會被保存爲 。相反,穩定的分類 保留了 相等的元素的順序。
因此不穩定。如果你想要一個穩定的排序,你可以實現合併排序或仔細的快速排序。但穩定版本的快速排序效率較低。
相關問題
- 1. 如何爲傳統F#應用程序提供ResizeArray?
- 2. 的DataTable SortBy(自定義?)
- 3. PHP未定義指數 - sortby
- 4. 找不到包/ laravel/laravel穩定穩定
- 5. symfony 2.0有多穩定或不穩定?
- 6. 無法與穩定性穩定
- 7. 數值穩定性
- 8. Jenkins聲明式管線 - 設置穩定/不穩定閾值
- 9. backbone.js sortBy cid
- 10. SortBy在Laravel
- 11. OneDrive REST API sortby
- 12. UnderscoreJs:_.groupBy和_.sortBy
- 13. 灰燼PromiseArray sortBy
- 14. AlarmManager不穩定
- 15. 視頻穩定
- 16. 圖像穩定
- 17. Silverlight穩定性
- 18. VisJS穩定
- 19. MongoDB穩定?
- 20. Parse.com穩定性
- 21. 強穩定,弱穩定和超穩定匹配有什麼區別?
- 22. numpy的FFT穩定性
- 23. Lodash sortBy函數打破Input()綁定:Angular4
- 24. 我的CSS定位不穩定。我該如何穩定它?
- 25. PHP laravel sortBy to orderBy
- 26. sortBy保留鍵名
- 27. 骨幹收集sortBy
- 28. SubSonic 3.0.0.3 | SimpleRepository - SortBy [SubSonicIgnore]
- 29. System.Data.SQLite的穩定性
- 30. VS11是steady_clock,穩定?
謝謝。這是一個很好的理論答案。根據Brian的回答,使用可用的Seq.sortBy更容易。 – 2010-07-10 20:30:23