Sobes.tech
Junior

O que é deque?

sobes.tech IA

Resposta da IA

Deque (fila de duas extremidades) é uma estrutura de dados que permite adicionar e remover elementos de ambos os extremos da fila: tanto do início quanto do fim. Isto é útil quando é necessário gerir os elementos de forma flexível, por exemplo, implementar uma fila de prioridade ou uma pilha com acesso a ambos os extremos.

Em C++, a biblioteca padrão fornece o contêiner std::deque, que suporta eficientemente operações de inserção e remoção em ambos os lados.

Exemplo de uso do std::deque:

#include <iostream>
#include <deque>

int main() {
    std::deque<int> d;
    d.push_back(10);    // Adiciona ao fim
    d.push_front(20);   // Adiciona ao início
    d.push_back(30);

    // Mostrar elementos
    for (int x : d) {
        std::cout << x << " ";
    }
    // Saída: 20 10 30

    d.pop_front(); // Remove do início (20)
    d.pop_back();  // Remove do fim (30)

    std::cout << "\nApós remoção: ";
    for (int x : d) {
        std::cout << x << " ";
    }
    // Saída: 10

    return 0;
}

O deque é frequentemente usado quando são necessárias operações de alto desempenho em ambos os extremos, ao contrário do std::vector, onde a inserção no início é menos eficiente.