Изучение Deque в C++: подробное руководство по методам и примерам кода

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

  1. Создание дека:
    Чтобы использовать деки в C++, вам необходимо включить заголовочный файл . Вот пример создания двухсторонней очереди целых чисел:
#include <deque>
#include <iostream>
int main() {
    std::deque<int> myDeque;
    // ...
    return 0;
}
  1. Вставка элементов.
    Деки предоставляют несколько методов для вставки элементов в разные позиции:

а. push_back()– вставляет элемент в конец двухсторонней очереди.

myDeque.push_back(10);

б. push_front()– вставляет элемент в начало двухсторонней очереди.

myDeque.push_front(5);

в. insert()— вставляет элемент в определенную позицию в очереди.

myDeque.insert(myDeque.begin() + 2, 7);
  1. Доступ к элементам.
    Вы можете получить доступ к элементам в двухсторонней очереди, используя следующие методы:

а. at()– осуществляет доступ к элементу в определенной позиции с проверкой границ.

int element = myDeque.at(2);

б. front()– обращается к первому элементу в двухсторонней очереди.

int firstElement = myDeque.front();

в. back()– обращается к последнему элементу в очереди.

int lastElement = myDeque.back();
  1. Удаление элементов.
    Деки позволяют удалять элементы из разных положений:

а. pop_back()– удаляет последний элемент из очереди.

myDeque.pop_back();

б. pop_front()– удаляет первый элемент из очереди.

myDeque.pop_front();

в. erase()– удаляет элемент в определенной позиции или диапазоне элементов.

myDeque.erase(myDeque.begin() + 2);
  1. Размер и емкость.
    Вы можете определить размер и емкость дека, используя следующие методы:

а. size()– возвращает количество элементов в деке.

int dequeSize = myDeque.size();

б. empty()– проверяет, пуста ли очередь.

bool isEmpty = myDeque.empty();

в. resize()– изменяет размер дека до указанного количества элементов.

myDeque.resize(10);

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