aula 234

Estrutura de dados dinâmica do tipo FILA

Dando continuidade ao nosso Curso de Programação C, vamos conhecer hoje outra estrutura dinâmica, a estrutura de dados dinâmica do tipo FILA.

Assim como a estrutura pilha, a estrutura fila é nossa velha conhecida do dia a dia, afinal, quem nunca enfrentou uma fila?

fila caixa eletronico
Fila em caixa eletrônico.

A estrutura de dados fila segue a mesma ideia de uma fila no mundo real. Toda vez que a prestação de um serviço é mais lenta que a demanda temos a formação de uma fila. Imagine uma loja com apenas um caixa e que, por sorte do lojista e azar seu, os três vendedores realizam uma vanda cada juntos. Um caixa não consegue receber de três clientes ao mesmo tempo, teremos aí a formação de uma fila.

Na tecnologia também encontramos exemplos de fila. Toda impressora implementa uma fila de impressão. Imagine uma empresa com dezenas de computadores e uma única impressora. Agora, imagine que alguns colaboradores enviam arquivos para imprimir no mesmo instante. A impressora não pode travar ou imprimir apenas o primeiro arquivo, certo? Existe em toda impressora uma fila de impressão para ordenar os documentos a serem impressos.

As operações em uma estrutura do tipo fila são bastante simples e podem ser deduzidas das filas do mundo real. O que pode acontecer em uma fila no mundo real? Novas pessoas podem entrar na fila ou novos documentos podem ser inseridos na fila de impressão, assim como pessoas podem sair da fila e documentos podem ser retirados da fila para serem impressos.

Temos basicamente duas operações agindo sobre a estrutura fila, inserção e remoção. A fila é uma estrutura do tipo FIFO (First-in, First-out), ou seja, o primeiro a entrar é o primeiro a sair. Isso significa que as inserções sempre ocorrem no final da fila e as remoções sempre ocorrem no início da fila, assim como no mundo real.

Talvez você diga: mas um idoso tem prioridade em uma fila bancária.

Correto. Estas são as filas de prioridade e elas também existem na computação, mas são assunto para outra aula.

Para construir uma estrutura do tipo fila precisamos de um Nó igual ao que já utilizamos na estrutura pilha. Perceba que a diferença entre as estruturas são as operações, como cada operação é realizada. Este Nó, como já vimos, terá um campo de informação e um ponteiro para o Nó seguinte, como apresentado a seguir.

// Nó para a estrutura de dados fila

typedef struct no{
    int valor;
    struct no *proximo;
}No;

Na próxima aula iniciaremos o desenvolvimento da nossa primeira estrutura de dados do tipo FILA.

Deixe um comentário

6 + 7 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.