关于这个问题,我找不到确定的答案。
我想大多数实现都使用归并排序,这是一种稳定性较高的排序算法,但是稳定性是一个要求还是一个副作用呢?
C++标准ISO/IEC 14882:2003表示:
23.2.2.4/31 注: 稳定性(stable):等效元素的相对顺序被保留。如果抛出异常,列表中的元素顺序是不确定的。
23.2.2.4/31
注: 稳定性(stable):等效元素的相对顺序被保留。如果抛出异常,列表中的元素顺序是不确定的。
是的,std::list<>::sort保证是稳定的。
详见http://www.sgi.com/tech/stl/List.html