首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么std::list.size()具有恒定的复杂度?

为什么std::list.size()具有恒定的复杂度?
EN

Stack Overflow用户
提问于 2017-05-16 03:27:37
回答 1查看 548关注 0票数 1

在学校,我学到链表由元素组成,并且链表的一个缺点是查找大小具有线性复杂性,因为您必须遍历每个元素并进行计数。然而,我注意到在C++11中,std::list.size()具有恒定的复杂性。这怎麽可能?

EN

回答 1

Stack Overflow用户

发布于 2017-05-16 03:28:23

可能只是保留了一个成员变量,每当你添加或删除元素时,该变量就会更新。或者,如果将两个列表合并在一起,只需将它们的计数相加即可。

这样你就不需要遍历整个列表来计算元素数了。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43987353

复制
相关文章

相似问题

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