【问题标题】:In C++, is the amortized complexity of std::string::push_back() O(1)?在 C++ 中,std::string::push_back() 的摊销复杂度是 O(1) 吗?
【发布时间】:2012-12-03 07:10:52
【问题描述】:

我知道标准规定它是针对向量的,但是字符串呢?

【问题讨论】:

  • 当然可以,但我现在无法访问标准,因此提出了问题。

标签: c++ string complexity-theory push-back


【解决方案1】:

是的,它是摊销常数时间。请参阅第 716 页上的表 101 of this document

表 101 列出了为某些类型的序列容器提供的操作,而不是为其他类型的序列容器提供的操作。一个 implementation 应为“container”列中显示的所有容器类型提供这些操作,并应实现它们以占用摊销常数时间。

Operation      | Description          | Container
---------------+----------------------+----------------------------------
a.push_back(t) | Appends a copy of t. | basic_string, deque, list, vector

【讨论】:

    猜你喜欢
    • 2011-06-25
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多