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

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

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

Дек::назначить

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

Синтаксис:

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

Параметры:

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

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

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

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

<deque>

Пример :

Выход:

Elements of deque<int>one are : 7 14 21 28 35 
Elements of deque<int>two are : 7 14 21 28 35 

Временная сложность: O(N)

Космическая сложность: O(N)

Дек::назад

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

Синтаксис:

deque_name.back()

Параметры: не принимает никаких параметров

Возвращаемое значение: Deque::back принимает возвращаемое значение целочисленного типа.

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

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

<deque>

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

Пример:

Выход -:

Last ELement is : 60

Временная сложность: O(1)

Космическая сложность: O(1)

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

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

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