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