首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >std::queue::size的Big O( )顺序是什么?

std::queue::size的Big O( )顺序是什么?
EN

Stack Overflow用户
提问于 2014-02-11 21:58:03
回答 5查看 2.3K关注 0票数 6

std::queue类不清楚size成员函数的复杂性。它似乎是基于当时使用的数据结构实现。

人们会假设size将是O(C),但它完全有可能是O(N)。显然,我可以保持自己的尺寸,但我宁愿打电话给size

(问题修改):由于deque是默认容器,那么std::deque::size()的O()是什么?

EN

Stack Overflow用户

发布于 2014-02-12 07:26:48

std::queue::size精确地在C++11 23.6.3.1/1中指定:

代码语言:javascript
运行
复制
size_type size() const { return c.size(); }

其中c是一个protected数据成员,其类型是第二个模板参数的类型。因此,它的复杂度正是该模板参数的size成员函数的复杂性。默认的是std::deque<T>,其中T是传递给std::queue的第一个模板参数,它具有默认的O(1)复杂性要求,除非另有规定(23.2.1中的表96 )。

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21713940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档