Sobes.tech
Junior
291

Что такое deque?

Ответ от нейросети

sobes.tech AI

Deque (double-ended queue) — это структура данных, которая позволяет добавлять и удалять элементы с обоих концов очереди: как с начала, так и с конца. Это удобно, когда нужно гибко управлять элементами, например, реализовать очередь с приоритетом или стек с возможностью доступа к обоим концам.

В C++ стандартная библиотека предоставляет контейнер std::deque, который эффективно поддерживает операции вставки и удаления с обеих сторон.

Пример использования std::deque:

#include <iostream>
#include <deque>

int main() {
    std::deque<int> d;
    d.push_back(10);    // Добавляем в конец
    d.push_front(20);   // Добавляем в начало
    d.push_back(30);

    // Вывод элементов
    for (int x : d) {
        std::cout << x << " ";
    }
    // Вывод: 20 10 30

    d.pop_front(); // Удаляем с начала (20)
    d.pop_back();  // Удаляем с конца (30)

    std::cout << "\nПосле удаления: ";
    for (int x : d) {
        std::cout << x << " ";
    }
    // Вывод: 10

    return 0;
}

Deque часто используется, когда нужна высокая производительность при операциях с обоих концов, в отличие от std::vector, где вставка в начало менее эффективна.