Производится ли производительность std :: votate интерфейс итератор?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Производится ли производительность std :: votate интерфейс итератор?

Сообщение Anonymous »

Хотя стандартные алгоритмы должны быть максимально оптимизированными, насколько это возможно, на основе категории итератора, мне кажется, что на таблице осталось много производительности, не имея возможности рассмотреть базовый контейнер. Последнее) < /code>, в то время как базовые контейнеры могут обеспечить лучший интерфейс: < /p>
  • Код: Выделить всё

    std::(forward_)list
    - o (1) с использованием splice для всех случаев
  • Код: Выделить всё

    std::deque
    - o (d) где d = min (расстояние (первое, среднее), расстояние (среднее, последнее)) с использованием повторного pop_front и push_back (или в другом месте) при вращении всего контейнера, так что O (1) для общего случая вращения одного шага
  • Код: Выделить всё

    std::vector
    - Технически всегда o (n) из -за удаления или вставки в начале, но может быть лучше оптимизировано для тривиально копируемых типов путем копирования нескольких элементов сразу
Является ли мое рассуждение здесь правильно? Можно ли оптимизировать приведенные выше случаи с помощью std :: ranges :: rotate ?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -interface
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»