Назад к вопросам
Junior — Middle
95
Можете объяснить, что такое двусторонняя очередь (Deque) и как она работает?
Ответ от нейросети
sobes.tech AI
Двусторонняя очередь (Deque, double-ended queue) — это структура данных, которая позволяет добавлять и удалять элементы с обоих концов: как с начала, так и с конца.
В отличие от обычной очереди (FIFO), где элементы добавляются в конец и удаляются из начала, двусторонняя очередь более гибкая и может работать как стек или очередь.
Пример операций с Deque:
- push_front — добавить элемент в начало
- push_back — добавить элемент в конец
- pop_front — удалить элемент с начала
- pop_back — удалить элемент с конца
В C++ для работы с Deque можно использовать стандартный контейнер std::deque:
#include <deque>
#include <iostream>
int main() {
std::deque<int> d;
d.push_back(1); // добавляем в конец
d.push_front(2); // добавляем в начало
std::cout << d.front() << " " << d.back() << std::endl; // 2 1
d.pop_front(); // удаляем с начала
std::cout << d.front() << std::endl; // 1
return 0;
}