Sobes.tech
Назад к вопросам
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;
}