2009-10-27 155 views

回答

18

std::sort不能保證是穩定的(你想嘗試的期限)。如你所料,std::stable_sort保證穩定。 std::stable_sort也提供最壞情況下的複雜性保證,其中std::sort沒有。儘管如此,std::sort的平均速度通常更快。

+0

請注意,std :: sort在一般情況下速度更快。 – tgamblin 2009-10-27 18:16:42

+0

+!謝謝...使用穩定的排序 – vehomzzz 2009-10-27 18:20:19

+0

@Jerry將此答案加入到Wiki(如此合適):http://stackoverflow.com/questions/1596139/hidden-features-and-dark-corners-of-stl – vehomzzz 2009-10-27 18:21:32

2

沒有,如果你想保證使用std :: stable_sort

3

從C++參考:here

元素,將比較彼此相等,不能保證以保持其原始的相對順序。

你可能想stable_sort,但要注意,它不是那麼快(平均)

+0

對,最好添加'平均'關鍵字以避免混淆。 – 2009-10-27 18:27:31

+0

看起來不錯。 – 2009-10-27 18:45:04

+0

指出它的評論可能已被刪除,因此讓我自己掛起,我不能真正刪除,因爲它會讓你...哦:) :) – 2009-10-28 07:21:13

相關問題