A Fila é uma estrutura que pode armazenar dados de diferentes tipos. Ela pode ser utilizada em várias situações, como nas filas de impressão, onde vários usuários enviam seus documentos para serem impressos, considerando a prioridade de cada um. Também podem ser utilizadas nos processos que esperam para ser executados pelo computador que possui apenas um processador. Além disso, também podem aparecer no tratamento do fluxo de transporte de dados nas redes de computadores. É uma estrutura muito simples e frequentemente utilizada na ciência da computação para a programação.

<aside> 💡 A principal diferença entre Fila e Pilha é a forma com que os dados entram e saem delas. As Pilhas usam o sistema LIFO (UEPS) - O ultimo que entra é o primeiro a sair; Já nas Filas usam o sistema FIFO (PEPS) - O primeiro que entra é o primeiro a sair.

</aside>

DEFINIÇÃO DE ELEMENTOS DA FILA

Fila é uma estrutura de dados que é utilizada quando você está programando e necessita de uma forma de lista linear. Ou seja, é quando um elemento está atrás do outro e assim sucessivamente.

Uma propriedade fundamental é que o acesso à Fila acontece por suas duas extremidades, que são chamadas de início e fim. Os elementos são inseridos pelo fim e observados e removidos pelo início dela. Esse processo - de acesso apenas pelo topo, onde o primeiro a entrar é o primeiro a sair - é chamado de PEPS, ou do inglês FIFO (first in, first out).

Vamos demonstrar o funcionamento de uma Fila de letras.

Inicialmente, esta fila está vazia, ou seja, o total de elementos na fila é igual a 0, conforme mostra a figura abaixo:

Vamos então enfileirar a letra A na fila, em seguida a letra B e depois a letra C, conforme a sequência abaixo. Perceba que o total de elementos na fila muda a cada letra que é enfileirada:

Se quisermos desenfileirar um elemento da fila, só podemos desenfileirar o primeiro elemento da fila, veja a figura abaixo:

APLICAÇÕES DA FILA

Para exemplificar, imagine uma fila de um supermercado que cabem apenas 10 pessoas. Normalmente, as pessoas estão enfileiradas umas atrás das outras. Quando a próxima pessoa é chamada, será atendida aquela que está no início da fila. Se alguma pessoa quiser entrar na fila do supermercado, ela precisa entrar no final. A fila pode estar vazia se não houver pessoas para serem atendidas. Se ela já estiver com 10 pessoas, já estará cheia e ninguém mais entrará nela.

Quando desenvolvemos um algoritmo ou programa, muitas vezes precisamos estruturar as informações dos diferentes tipos de dados que podemos utilizar. Para isso, podemos fazer uso da estrutura de dados chamada Fila para dispor as informações no programa inserindo, removendo e consultando-as.

Outro exemplo de uso de filas são os algoritmos de tratamento de fluxo de transporte de dados em redes de computadores para armazenar pacotes que chegam pela rede, mas que ainda não puderam ser processados.

Neste capítulo veremos como e quando trabalhar com Filas, bem como inserir, remover, consultar e manipular dados nesta estrutura.

OPERAÇÕES DA FILA

Para o funcionamento da Fila, são necessárias algumas operações para a sua manipulação. As operações de manipulação da Fila são: