В C ++ амортизируется сложность std :: string :: push_back () O (1)?

Я знаю, что стандарт определяет, что это для векторов, но как насчет строк?

5

Решение

Да, амортизируется постоянное время. См. Таблицу 101 на стр. 716. этого документа:

В таблице 101 перечислены операции, которые предоставляются для некоторых типов контейнеров последовательностей, но не для других.
реализация должна обеспечить эти операции для всех типов контейнеров, показанных в столбце «контейнер», и должна реализовывать их так, чтобы принимать амортизированное постоянное время.

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]