# Queue

Queue (fila) é uma estrutura de dados que segue o princípio **FIFO** (First In, First Out).&#x20;

Pense na última vez que você esperou em uma fila, o primeiro a chegar, é o primeiro a sair. O último a chegar, é o último a sair. É exatamente assim que queues funcionam na computação, também!&#x20;

Uma queue possui 3 operações:

1. Insert (ou Push): Coloca um item no final da queue
2. Peek: Olha o primeiro item da queue
3. Remove (ou pop): Remove o primeiro item da queue

<figure><img src="https://3099726359-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPoUhR6ITF2wdty5CdTAc%2Fuploads%2FikttPBjOkPWpKoFrC5qs%2FQueue.png?alt=media&#x26;token=7f83d688-e750-42a2-b62c-2e6faa1c597b" alt=""><figcaption></figcaption></figure>

### Deque

Imagine uma estante de livros, você pode adicionar livros tanto no início, quanto no final, e remover tnato do início quanto do final. É assim que um deque funciona, é uma queue que abrange ambas as pontas da estrutura.

Possui 6 operações:

1. Insert front (ou push front): Coloca um item no início da queue
2. Insert back (ou push back): Coloca um item no final da queue
3. Peek front: Olha o primeiro item da queue
4. Peek back: Olha o último item da queue
5. Remove front (ou pop front): Remove o primeiro item da queue
6. Remove back (ou pop back): Remove o último item do deque&#x20;

