首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::map::erase() -哪个重载更快?

std::map::erase() -哪个重载更快?
EN

Stack Overflow用户
提问于 2012-08-23 01:57:51
回答 1查看 576关注 0票数 3

map::erase()方法有两个重载来移除单个项:

代码语言:javascript
复制
void erase ( iterator position );
size_type erase ( const key_type& x );

我需要检查哪个版本可能更快--我猜是第一个版本,因为第二个版本可能需要调用map::find()来查找迭代器?

有人能证实吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-23 01:59:15

第一个是摊余常数复杂度,第二个是对数复杂度。常量项不太可能大到足以使第一个版本比第二个版本慢,但我想对于非常小的地图,它们之间肯定是难以区分的。

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

https://stackoverflow.com/questions/12078795

复制
相关文章

相似问题

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