Разница между deque::cbegin и deque::assign в С++
Двухсторонние или двусторонние очереди представляют собой контейнеры последовательности с функцией расширения и сжатия на обоих концах. Они аналогичны векторам, но более эффективны в случае вставки и удаления элементов в конце, а также в начале. В отличие от векторов, непрерывное выделение памяти не может быть гарантировано. Здесь мы увидим разницу между 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)
Параметры:
- размер: он указывает количество значений, которые будут присвоены контейнеру.
- 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 в начало последовательности. | У него нет возвращаемого типа. |
Сложность | Постоянный | Линейный |