gpt4 book ai didi

c++ - std::set 迭代顺序是否始终根据 C++ 规范升序?

转载 作者:IT老高 更新时间:2023-10-28 12:38:39 31 4
gpt4 key购买 nike

这里 http://www.cplusplus.com/reference/stl/set/我读到 C++ 中的 std::set “通常”被实现为一棵树(红黑树?)并且它是排序的。

我不明白,这是否意味着集合的按规范迭代顺序总是升序?或者它只是“通常的实现细节”,有时,一些库/编译器可能会违反这个约定?

最佳答案

根据 C++ 标准,对 std::set 中的元素的迭代按照由 std::less 或可选的比较谓词模板确定的排序顺序进行论据。

(同样根据 C++ 标准,插入、查找和删除最多需要 O(lg n) 时间,因此平衡搜索树目前是 std::的唯一可行实现选择:集,即使标准没有强制使用红黑树。)

关于c++ - std::set 迭代顺序是否始终根据 C++ 规范升序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833938/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com