Разница между deque::assign и deque::empty в С++
Двухсторонние или двусторонние очереди — это контейнеры последовательностей с функцией расширения и сжатия на обоих концах. Они аналогичны векторам, но более эффективны в случае вставки и удаления элементов в конце, а также в начале. В отличие от векторов, непрерывное выделение памяти не может быть гарантировано.
Здесь мы увидим разницу между deque::assign и deque::at в C++.
дека:: присвоить
deque::assign используется для назначения нового содержимого контейнеру deque путем замены его текущего содержимого. Соответственно изменяется его размер.
Синтаксис:
dequename.assign(<int> size, <int> val)
Параметры:
- size — количество значений, которые будут присвоены контейнеру.
- val — значение, которое будет присвоено контейнеру.
Заголовочный файл:
<deque>
Исключения. Если возникает исключение, контейнер находится в допустимом состоянии.
Действительность итератора: в этом контейнере все итераторы, указатели и ссылки недействительны.
Пример:
- Временная сложность — O(N)
- Космическая сложность – O(N)
колода:: пусто
deque::empty используется для проверки того, пуст контейнер deque или нет. В контейнере это ничего не меняет.
Синтаксис:
emtpy();
Заголовочный файл:
<deque>
Исключения: он никогда не выдает никаких исключений
Срок действия итератора: в этом контейнере срок действия итератора не изменяется.
Пример:
- Временная сложность — O(1)
- Космическая сложность – O(1)
Различия между deque::assign и deque::empty
Основа | дека:: присвоить | дека:: пусто |
---|---|---|
Определение | Он используется для назначения нового содержимого контейнеру deque. | Он используется для проверки того, пуста ли двухсторонняя очередь. |
Синтаксис | dequename.assign(<int> size, <int> val); | пустой() |
Количество параметров | Он принимает всего два параметра | Никто |
Возвращаемое значение | Никто | логический |
Сложность | Линейный | Постоянный |