std::list<>::sort是稳定的吗?

11

关于这个问题,我找不到确定的答案。

我想大多数实现都使用归并排序,这是一种稳定性较高的排序算法,但是稳定性是一个要求还是一个副作用呢?

3个回答

23

C++标准ISO/IEC 14882:2003表示:

23.2.2.4/31

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


3
SGI和Stroustrup都是正确的,但不是“决定性的答案”。ISO 14882 是。 - MSalters
只有出色的答案,但我承认这是最好的。 ;) - Edouard A.

12

10
根据《C++程序设计语言》(Stroustrup p470),是的,stl::list<>::sort是稳定的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接