Разница между deque::assign и deque::empty в С++

Опубликовано: 9 Января, 2023

Двухсторонние или двусторонние очереди — это контейнеры последовательностей с функцией расширения и сжатия на обоих концах. Они аналогичны векторам, но более эффективны в случае вставки и удаления элементов в конце, а также в начале. В отличие от векторов, непрерывное выделение памяти не может быть гарантировано.

Здесь мы увидим разницу между deque::assign и deque::at в C++.

дека:: присвоить

deque::assign используется для назначения нового содержимого контейнеру deque путем замены его текущего содержимого. Соответственно изменяется его размер.

Синтаксис:

dequename.assign(<int> size, <int> val)

Параметры:

  1. size — количество значений, которые будут присвоены контейнеру.
  2. val — значение, которое будет присвоено контейнеру.

Заголовочный файл:

<deque>

Исключения. Если возникает исключение, контейнер находится в допустимом состоянии.

Действительность итератора: в этом контейнере все итераторы, указатели и ссылки недействительны.

Пример:

  • Временная сложность — O(N)
  • Космическая сложность – O(N)

колода:: пусто

deque::empty используется для проверки того, пуст контейнер deque или нет. В контейнере это ничего не меняет.

Синтаксис:

emtpy();

Заголовочный файл:

<deque>

Исключения: он никогда не выдает никаких исключений

Срок действия итератора: в этом контейнере срок действия итератора не изменяется.

Пример:

  • Временная сложность — O(1)
  • Космическая сложность – O(1)

Различия между deque::assign и deque::empty

Основа

дека:: присвоить

дека:: пусто

Определение Он используется для назначения нового содержимого контейнеру deque. Он используется для проверки того, пуста ли двухсторонняя очередь.
Синтаксис dequename.assign(<int> size, <int> val); пустой()
Количество параметров Он принимает всего два параметра Никто
Возвращаемое значение Никто логический
Сложность Линейный Постоянный