# Fila (Queue)

Na ciência da computação, uma **fila** é um tipo particular de abstração
de tipo de dado ou coleção em que as entidades na coleção são mantidas em
ordem e a causa primária (ou única) de operações na coleção são a
adição de entidades à posição final da coleção, conhecido como enfileiramento
(enqueue) e a remoção de entidades do posição inicial, conhecida como desenfileirar
(dequeue).Isto torna a fila uma estrutura de dados tipo First-In-First-Out (FIFO).

Em uma estrutura de dados FIFO, o primeiro elemento adicionado a fila
será o primeiro a ser removido. Isso é equivalente ao requisito em que uma vez
que um novo elemento é adicionado, todos os elementos que foram adicionados
anteriormente devem ser removidos antes que o novo elemento possa ser removido.

Muitas vezes uma espiada (peek) ou uma operação de frente é iniciada,
retornando o valor do elemento da frente, sem desenfileira-lo. Uma lista é
um exemplo de uma estrutura de dados linear, ou mais abstratamente uma
coleção seqüencial.


Representação de uma file FIFO (first in, first out)

![Queue](./images/queue.jpeg)

*Made with [okso.app](https://okso.app)*

## References

- [Wikipedia](https://en.wikipedia.org/wiki/Queue_(abstract_data_type))
- [YouTube](https://www.youtube.com/watch?v=wjI1WNcIntg&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8&index=3&)
