Dificuldade ★☆☆
2 minutos de Leitura 🕒
Uma fila é uma estrutura de dados linear em que elementos são inseridos em uma extremidade (final da fila) e retirados da outra (início da fila). Por essa característica, filas também são conhecidas como estruturas FIFO (First-In First-Out, Primeiro a Entrar Primeiro a Sair).
Uma analogia para essa estrutura de dados são as filas de supermercado. Pessoas entram no final da fila e aguardam sua vez, enquanto pessoas do início da fila a deixam e são atendidas.
Uma fila f
pode ser construída com os seguintes componentes:
f.celulas[]
: células que armazenam os elementos da fila.f.primeiro
: um ponteiro que referencia o primeiro elemento da fila.f.ultimo
: um ponteiro que referencia o último elemento da fila.f.comprimento
: um inteiro que conta o número de elementos na fila.comprimento()
retorna o comprimento de uma fila.enfileirar()
insere um elemento no final de uma fila.desenfileirar()
remove o elemento do início de uma fila.f.comprimento
.f.ultimo
para referenciar uma nova célula.x
na célula referenciada pelo ponteiro de último da fila f.ultimo
.f.comprimento
.f
está vazia. Em caso afirmativo, vá para o passo 2. Caso contrário, vá para o passo 3."fila vazia"
.x
o elemento referenciado pelo ponteiro de primeiro da fila f.primeiro
.f.primeiro
para referenciar a célula anterior à primeira atual da fila.f.comprimento
.x
.Veja o código completo no GitHub.