Dia do estudante
Filas Estáticas Sequenciais
Prof. José Honorato Ferreira Nunes
eu@honorato.eu
http://softwarelivre.org/zenorato/honoratonunes
Filas - conceitos
É uma lista linear em que a inserção é feita numa extremidade e a eliminação na outra.
Conhecida com estrutura FIFO (First In, First Out).
( a1, a2, a3, a4 , ... , an ) eliminações inserções no início no final
Filas - Exemplos
➢
➢
➢
Escalonamento de "Jobs": fila de processos aguardando os recursos do sistema operacional.
Fila de pacotes a serem transmitidos numa rede de comutação de pacotes.
Simulação: fila de caixa em banco.
Declaração da Estrutura Pilha
Para que possamos trabalhar com fila, devemos primeiramente definir a estrutura para declarar os tipos de dados que queremos armazenar.
Devido a sua estrutura, será necessária a utilização de dois campos que armazenarão os índices do início e do final da fila e um vetor de elementos (onde serão armazenados os dados) com tamanho preestabelecido.
#define m 10 struct fila{ int comeco, fim; char elem[m];
};
Estrutura FIFO – First In, First Out
➢
➢
Primeiro elemento inserido é o primeiro a ser removido
Filas permitem manipulações em duas extremidades: no início (ou frente) e no fim
(ou cauda).
➢
Inserções são feitas na cauda.
➢
Remoções são feitas na frente.
Criando uma Fila
Inserindo na Fila
Inserindo na Fila
Remoção na Fila
Remoção na Fila
Falso Cheio na Fila
Operações Primitivas de Filas
✔
Iniciar – inicializa uma fila vazia;
✔
Vazia – testa se um fila está vazia;
✔
✔
✔
Inserir - insere um elemento no fim de uma fila; Remover - remove o elemento do início de uma fila, retornando o elemento removido;
Primeiro - obtém o elemento do início de uma fila.
Primeiro passo é criar a Fila
Antes de começar a carregar a fila com dados, há a necessidade de declarar a estrutura e inicializá-la. //criação da fila