是std :: list<> :: sort stable?

时间:2009-03-04 10:14:07

标签: c++ sorting stl

我找不到这个问题的任何明确答案。

我认为大多数实现都使用稳定的合并排序,但稳定性是一个要求还是副作用?

3 个答案:

答案 0 :(得分:23)

C ++标准ISO / IEC 14882:2003说:

  

23.2.2.4/31

     

注意:稳定:保留等效元素的相对顺序。如果抛出异常   列表中元素的顺序是不确定的。

答案 1 :(得分:13)

是的,std :: list<> :: sort保证稳定。

请参阅http://www.sgi.com/tech/stl/List.html

答案 2 :(得分:10)

根据“The C ++ Programming Language”(Stroustrup p470),是的,stl :: list<> :: sort是稳定的。