Filas

De Wiki Cursos IFPR Foz
Revisão de 14h19min de 30 de setembro de 2014 por Evandro.cantu (discussão | contribs) (→‎Filas)
Ir para navegaçãoIr para pesquisar

Filas

Uma fila é um conjunto ordenado de itens, na qual itens podem ser extraídos de uma extremidade (início da fila) e novos itens podem ser inseridos na outra extremidade (final da fila) [1].

Como os elementos são inseridos por uma extremidade e extraídos pela outra, este tipo de fila é chamado de lista FIFO (First In First Out), ou primeiro que entra é o primeiro que sai.

Uma pilha é uma lista LIFO (Last In First Out), ou último que entra é o primeiro que sai.

Na figura, A foi o primeiro elemento inserido na fila, será portanto o primeiro a sair. Novos elementos são inseridos no final da fila, ou seja, depois do elemento C. Se A for removido da fila, B passará a ser o primeiro da fila, ou o próximo a sair.

Operações primitivas com filas

As operações primitivas para lidar com filas são para inserir itens, remover itens e verificar se a fila está vazia[1].

Considere uma fila q e um item x, a função

insert(q, x)

insere o item x na fila q;

remove(q)

remove o item do início da fila;

empty(q)

verifica se a fila está vazia.

A operação para remover itens da fila somente pode ser executada se a fila não estiver vazia, por isto a utilizada da função para verificar se a fila está vazia.

Imlementação de filas em linguagem C

Na linguagem C, uma das maneiras de implememtar uma fila é utilizando vetores.

[1] [2].


#define TAM 100
struct pilha {
  int topo;
  int itens[TAM];
};


Referências

  1. 1,0 1,1 1,2 TENENBAUM, A. A.; LANGSAM, Y.; AUGENSTEIN, M.J. Estruturas de dados usando C, capítulo 2: A Pilha, São Paulo: Makron Books, 1995.
  2. FEOFILOFF, p. Projeto de algoritmos em C: Filas. http://www.ime.usp.br/~pf/algoritmos/aulas/fila.html

--Evandro.cantu (discussão) 16h49min de 17 de julho de 2014 (BRT)