我找不到这个问题的任何明确答案。
我认为大多数实现都使用稳定的合并排序,但稳定性是一个要求还是副作用?
答案 0 :(得分:23)
C ++标准ISO / IEC 14882:2003说:
23.2.2.4/31
注意:稳定:保留等效元素的相对顺序。如果抛出异常 列表中元素的顺序是不确定的。
答案 1 :(得分:13)
是的,std :: list<> :: sort保证稳定。
答案 2 :(得分:10)
根据“The C ++ Programming Language”(Stroustrup p470),是的,stl :: list<> :: sort是稳定的。