<aside> <img src="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" alt="notion://custom_emoji/6a9f75af-b090-4ac1-9370-a797e429cd85/12c39bc1-c32f-80fa-b777-007a474b0a18" width="40px" />

Conceito

Uma fila é uma estrutura de dados linear que segue o princípio FIFO (First-In, First-Out), ou seja, o primeiro elemento a ser inserido é o primeiro a ser removido. Funciona de maneira análoga a uma fila de pessoas em um caixa de supermercado: quem chega primeiro é atendido primeiro.

</aside>

Uma fila (queue) é uma estrutura de dados do tipo FIFO (First In, First Out), ou seja, o primeiro elemento inserido é o primeiro a ser removido.

Imagine uma fila de pessoas: quem chega primeiro é atendido primeiro.

Entrada → [ 10 ] [ 20 ] [ 30 ] [ 40 ] → Saída
            ↑                     ↑
          primeiro              último

Na fila, normalmente:

Operações Básicas

Uma fila normalmente possui quatro operações principais:

Operação Descrição
enqueue Insere um elemento no final da fila
dequeue Remove o elemento do início da fila
front/peek Visualiza o primeiro elemento sem removê-lo
isEmpty Verifica se a fila está vazia

Exemplo

Considerando uma fila inicialmente vazia:

enqueue(10)
enqueue(20)
enqueue(30)

A fila ficará:

Início → [10] [20] [30] ← Fim

Ao executar:

dequeue()

O elemento 10 será removido:

Início → [20] [30] ← Fim

Portanto: