Деки (двусторонние очереди) — это универсальная структура данных в C++, сочетающая в себе функции как стеков, так и очередей. Они позволяют эффективно выполнять операции вставки и удаления на обоих концах, что делает их мощным инструментом для решения широкого спектра задач программирования. В этой статье мы рассмотрим различные методы, доступные для деков в C++, а также примеры кода, иллюстрирующие их использование.
- Создание дека:
Чтобы использовать деки в C++, вам необходимо включить заголовочный файл. Вот пример создания двухсторонней очереди целых чисел:
#include <deque>
#include <iostream>
int main() {
std::deque<int> myDeque;
// ...
return 0;
}
- Вставка элементов.
Деки предоставляют несколько методов для вставки элементов в разные позиции:
а. push_back()– вставляет элемент в конец двухсторонней очереди.
myDeque.push_back(10);
б. push_front()– вставляет элемент в начало двухсторонней очереди.
myDeque.push_front(5);
в. insert()— вставляет элемент в определенную позицию в очереди.
myDeque.insert(myDeque.begin() + 2, 7);
- Доступ к элементам.
Вы можете получить доступ к элементам в двухсторонней очереди, используя следующие методы:
а. at()– осуществляет доступ к элементу в определенной позиции с проверкой границ.
int element = myDeque.at(2);
б. front()– обращается к первому элементу в двухсторонней очереди.
int firstElement = myDeque.front();
в. back()– обращается к последнему элементу в очереди.
int lastElement = myDeque.back();
- Удаление элементов.
Деки позволяют удалять элементы из разных положений:
а. pop_back()– удаляет последний элемент из очереди.
myDeque.pop_back();
б. pop_front()– удаляет первый элемент из очереди.
myDeque.pop_front();
в. erase()– удаляет элемент в определенной позиции или диапазоне элементов.
myDeque.erase(myDeque.begin() + 2);
- Размер и емкость.
Вы можете определить размер и емкость дека, используя следующие методы:
а. size()– возвращает количество элементов в деке.
int dequeSize = myDeque.size();
б. empty()– проверяет, пуста ли очередь.
bool isEmpty = myDeque.empty();
в. resize()– изменяет размер дека до указанного количества элементов.
myDeque.resize(10);
Деки в C++ предоставляют гибкий и эффективный способ управления коллекциями элементов с постоянной вставкой и удалением на обоих концах. В этой статье были рассмотрены различные методы создания, вставки, доступа и удаления элементов из дека, а также определения его размера и емкости. Понимание и использование этих методов повысят вашу способность эффективно решать сложные проблемы программирования.