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

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

Deque или двухсторонняя очередь — это контейнеры последовательности с функцией расширения и сжатия на обоих концах. Они аналогичны векторам, но более эффективны в случае вставки и удаления элементов в конце, а также в начале. В отличие от векторов, непрерывное выделение памяти не может быть гарантировано. Здесь мы увидим разницу между deque::assign и deque::at в C++.

поэтому :: начало

deque::begin используется для возврата итератора, указывающего на первый элемент в контейнере deque. Он возвращает итератор произвольного доступа, указывающий на него.

Синтаксис:

 iterator begin();

Параметры: Нет

Возвращаемое значение: его возвращаемое значение является итератором в начало контейнера последовательности.

Действительность итератора: без изменений в действительности итератора

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

<deque>

Исключения: deque::begin никогда не генерирует исключение

Пример:

Выход:

Elements in Deque are : 1 2 3 4 5 
  • Временная сложность: O(N)
  • Космическая сложность: O(1)

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

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

Синтаксис:

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

Параметры:

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

Возвращаемое значение: нет

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

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

<deque>

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

Пример:

Выход:

Elements in Container A are : 5 10 15 20 
Elements in Container B are : 5 10 15 20 
  • Временная сложность: O(N)
  • Космическая сложность: O(N)

deque::assign против deque::begin

Ниже приведены различия между deque::assign и deque::begin.

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