標準是否通過使用std :: sort保證相等元素的順序不會改變(呃,忘記了這個術語)還是需要考慮另一種解決方案來實現這個目標?std :: sort是否改變了相等元素的相對順序?
回答
std::sort
不能保證是穩定的(你想嘗試的期限)。如你所料,std::stable_sort
保證穩定。 std::stable_sort
也提供最壞情況下的複雜性保證,其中std::sort
沒有。儘管如此,std::sort
的平均速度通常更快。
沒有,如果你想保證使用std :: stable_sort
沒有明確它並不能保證這一點。如果您需要維護相對順序,請改用stable_sort。
排序的文檔,其中包括參照同等的要素
對,最好添加'平均'關鍵字以避免混淆。 – 2009-10-27 18:27:31
看起來不錯。 – 2009-10-27 18:45:04
指出它的評論可能已被刪除,因此讓我自己掛起,我不能真正刪除,因爲它會讓你...哦:) :) – 2009-10-28 07:21:13
- 1. 在ramda.js中,fromPairs是否改變了元素的順序?
- 2. Collections.sort()是否改變了優先級相同的元素?
- 3. 更改STL多重集中兩個相等元素的順序
- 4. 在std :: multiset中維護插入順序相同的元素
- 5. 如果兩個元素的鍵相等,std :: multimap是否會保留插入順序?
- 6. Perl是否以相反的順序打印數組元素?
- 7. 順序的std :: unordered_multimap元素
- 8. boost :: next和std :: next是否相等?
- 9. 檢查對是否相等
- 10. unordered_set :: erase(pos)是否保留了元素的順序?
- 11. C++如何搜索vector中的struct元素是否相等?
- 12. 在C++中修改元素的排序相關部分std :: set
- 13. 按相反順序選擇元素
- 14. SubArray中的相等元素
- 15. 與`std :: set_intersection`相似,但產生相同元素對
- 16. 未更改地圖元素的恢復順序始終相同?
- 17. WSDL排序順序是否相關?
- 18. 元素的順序改變頂端
- 19. 使用JQuery改變元素的順序
- 20. 檢查兩個數組的值是否相等並且順序相同
- 21. 擦除std :: vector的元素是否保留了排序?
- 22. Interlocked.CompareExchange是否相等?
- 23. std :: initializer_list和元素的求值順序
- 24. 檢查對象的HashSet是否相等
- 25. C#SortedSet元素相等
- 26. WordPress的:相對於數組改變帖子的順序
- 27. 檢查矩陣元素是否都是不相等或不同元素
- 28. 檢查兩個int數組是否相等 - 無論順序
- 29. 驗證列表中的所有元素是否相等
- 30. 檢查數組中的元素是否相等 - C++
鑑於stable_sort的存在,我會猜測「不」 – 2009-10-27 18:09:38