Fila circular

519 palavras 3 páginas
Assunto: Lista Circular

“Dobrar” o vetor de forma que as suas extremidades se encontrem

Vamos modificar a implementação das operações e da estrutura utilizada para representar uma fila utilizando uma organização circular (conforme os conceitos discutidos até então);

Observe a seguinte situação (considerando uma fila normal, de tamanho N implementada sobre um vetor):
– São inseridos N elementos na fila;
– Em seguida são retirados n-2 elementos;
– Tenta-se incluir mais um elemento;

O que acontece?
– A fila acusará fila cheia! Mas há espaço no vetor!
– Isso é um problema da regra que define a fila? Não!
– O problema decorre da forma utilizada para representar a fila: o VETOR;

Antes de mais nada, uma fila circular é uma fila e portanto suas operações acontecem da seguinte forma:
– Inclusões: no final da fila;
– Retiradas: no início da fila;
– A diferença está na forma de tratar a organização física da fila. A interface é a mesma da fila tradicional.

Definição Conceitual

Precisamos controlar o tamanho da Fila de outra forma !!

Funcionamento

• As condições “fila cheia” e “fila vazia” também devem ser alteradas:
• Uma fila está cheia se o campo que foi adicionado para controlar o tamanho for igual ao tamanho do vetor;
• Uma fila está vazia se o tamanho for igual a zero;

Observa-se que na fila com incremento circular a parte ocupada do vetor pode chegar a última posição.

Implementação:

• Para reaproveitar as primeiras posições livres do vetor podemos incrementar o vetor de forma “circular”.
• Se o último elemento da fila ocupa a última posição do vetor, inserimos os novos elementos a partir do início do vetor.

Se modificarmos a organização física da fila e a implementação de suas operações o problema pode ser resolvido.
Vamos imaginar um “vetor dobrado” de forma que o fim do vetor se encontre com o início.

Arquivo “FilaCircular.h”

#define MAX 5

typedef struct { int inicio; int

Relacionados

  • 2458-545965
    1450 palavras | 6 páginas
  • Sistema
    2493 palavras | 10 páginas
  • Gerencia do Processador
    3683 palavras | 15 páginas
  • bhsxafvhgsdf
    3804 palavras | 16 páginas
  • SISTEMAS OPERACIOAIS CAP 8
    6343 palavras | 26 páginas
  • Processos
    3704 palavras | 15 páginas
  • estrutura de dados
    620 palavras | 3 páginas
  • sistema
    5946 palavras | 24 páginas
  • Estrutura de dados - Fila
    1310 palavras | 6 páginas
  • Notas Aula 5 E 6 Complemento
    1002 palavras | 5 páginas