Производится ли производительность 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

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