c++ std::list 排序保留顺序

发布于 2024-10-19 22:33:37 字数 296 浏览 1 评论 0原文

可能的重复:
std::list<>::sort 稳定吗?

C++ std::list 排序函数是否稳定保证保留列表中相等元素的顺序?例如,如果列表中有对象 A、B 和 C,并且比较运算符被重载,使得 A == C 且 B < A、我们一定要获得BAC还是有可能获得BCA?

Possible Duplicate:
Is std::list<>::sort stable?

Does C++ std::list sort function is guaranteed to preserve the order of equal elements in the list? E.g. if we have objects A, B and C in the list and the comparison operators are overloaded so that A == C and B < A, will we necessarily get B-A-C or is it possible to get a B-C-A?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

够钟 2024-10-26 22:33:37

是的,在 C++ 中 list::sort() 是稳定的,符合 ISO 14882:2003 23.2.2.4[lib.list.ops]/31

Effects: Sorts the list according to the operator< or a Compare function object.
Notes: Stable: the relative order of the equivalent elements is preserved. 
If an exception is thrown the order of the elements in the list is indeterminate.

Yes, in C++ list::sort() is stable, per ISO 14882:2003 23.2.2.4[lib.list.ops]/31

Effects: Sorts the list according to the operator< or a Compare function object.
Notes: Stable: the relative order of the equivalent elements is preserved. 
If an exception is thrown the order of the elements in the list is indeterminate.
银河中√捞星星 2024-10-26 22:33:37

是的,标准要求 list::sort 稳定。

Yes, the standard requires the list::sort to be stable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文