Escolar Documentos
Profissional Documentos
Cultura Documentos
de Dados
Prof. Felipe Cavalaro
Fila (Queue)
O que é uma fila?
Fila (Queue)
É simplesmente uma linha de espera que cresce somando
elementos ao seu final e diminui tomando elementos à sua frente.
Diferente de pilha, fila é uma estrutura na qual ambas as
extremidades são usadas: uma para adicionar novos elementos e
outra para removê-los. Em consequência, o último elemento tem que
esperar até que todos os que o precedem na fila sejam removidos.
Fila é uma estrutura FIFO (em inglês, first in/first out) (DROZDEK,
2017).
Fila
Fila
posicao=posicao%7
2.3 5.4 7.2
0 1 2 3 4 5 6
inicio=1 fim=3
Fila
Note que, ao final dessa função, a fila f vai estar vazia. Essa função deve obedecer o protótipo:
void separa_filas (fila* f, fila* f_pares, fila* f_impares)
Exercícios
2) Considerando tipo abstrato Fila de números inteiros do exercício anterior, implemente uma
função que, dada uma fila, inverta a ordem de seus elementos. Por exemplo, se a fila
originalmente tiver seus elementos na ordem 4,3,9,2, após a chamada da sua função a fila deve
ter seus elementos na ordem 2,9,3,4. O protótipo da função deve ser: void inverte (fila* f).
Exercícios
3) Considerando tipo abstrato Fila de números inteiros do
exercício anterior, faça uma função que receba como parâmetro
uma fila e remova da fila os números negativos. Utilize o
protótipo:
void remove_negativos (fila* f);
Obrigado
felipe.cavalaro@fatec.sp.gov.br