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

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

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

дека:: cbegin

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

Синтаксис:

const_iterator cbegin();

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

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

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

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

<deque>

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

Пример:

Выход:

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

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

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

Синтаксис:

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

Параметры:

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

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

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

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

<deque>

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

Пример:

Выход:

Elements in Deque B are : 10 20 30 40 50 60 
  • Временная сложность: O(N)
  • Космическая сложность: O(N)

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

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

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