ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim =...
Transcript of ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim =...
![Page 1: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/1.jpg)
ESTRUTURA DE DADOS
Prof. Dr. Daniel Caetano
2012 - 2
FILAS SEQUENCIAIS CIRCULARES
![Page 2: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/2.jpg)
Objetivos
• Compreender o que é uma fila circular
• Compreender sua aplicação
• Capacitar para implementar filas circulares
• Atividade Estruturada!
![Page 3: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/3.jpg)
Material de Estudo
Material Acesso ao Material
Apresentação http://www.caetano.eng.br/ (Aula 8)
Material Didático Estruturas de Dados (Parte 2) – Páginas ? a ?
Biblioteca Virtual Estruturas de Dados – -?
![Page 4: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/4.jpg)
RECORDANDO...
![Page 5: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/5.jpg)
Recordando...
• Listas
– Ordenadas e não ordenadas
• Listas: acrescento / removo
– No lugar correto x No fim / De qualquer lugar
• Pilhas: acrescento / removo
– No fim / Do fim
• Filas: acrescento / removo
– No fim / Do início
• Qual era o problemas das filas?
![Page 6: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/6.jpg)
Implementando Fila
• Tomemos esta fila
fila:
inicio: 4
fim: 9
• Se fim < n-2
– fim = fim + 1
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 7: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/7.jpg)
Implementando Filas
• Tomemos esta fila
fila:
inicio: 4
fim: 9
• Se fim < n-2
– fim = fim + 1
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 8: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/8.jpg)
Implementando Filas
• Tomemos esta fila
fila:
inicio: 4
fim: 9
• Se fim < n-2
– fim = fim + 1
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
Mas não temos espaços vazios
no vetor?
![Page 9: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/9.jpg)
FILAS SEQUENCIAIS CIRCULARES
![Page 10: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/10.jpg)
Filas Circulares
• Fila Circular: reaproveitar o início da fila
• Se marcador de inicio/fim supera o tamanho
– Voltamos o marcador para o início
![Page 11: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/11.jpg)
Implementando Filas
• Tomemos esta fila
fila:
inicio: 4
fim: 9
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 12: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/12.jpg)
Implementando Filas
• Inserindo elemento
fila:
inicio: 4
fim: 9
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 13: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/13.jpg)
Implementando Filas
• Inserindo elemento
fila:
inicio: 4
fim: 10
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 14: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/14.jpg)
Implementando Filas
• Inserindo elemento
fila:
inicio: 4
fim: 10
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 15: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/15.jpg)
Implementando Filas
• Inserindo elemento
fila:
inicio: 4
fim: 0
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 16: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/16.jpg)
Implementando Filas
• Inserindo elemento
fila:
inicio: 4
fim: 0
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
100 66 75 33 99 100 22 15 90 28
![Page 17: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/17.jpg)
Implementando Filas
• Inserindo elemento
fila:
inicio: 4
fim: 0
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
• Exemplo: vamos inserir o número 55?
0 1 2 3 4 5 6 7 8 9
55 66 75 33 99 100 22 15 90 28
Mas como saber se a fila está cheia/vazia agora?
![Page 18: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/18.jpg)
CONTROLANDO O TAMANHO DA FILA
![Page 19: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/19.jpg)
Tamanho de Filas Circulares
• Relação entre início e fim...
– Não pode ser mais usada!
• Controle da quantidade de elementos
– “n” elementos
– “n” tem que ser menor que “MAX”
![Page 20: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/20.jpg)
Tamanho de Filas Circulares • Inicializar
fila:
inicio: 0
fim: -1
num: 0
• E como é o algoritmo para enfileirar?
0 1 2 3
? ? ? ?
![Page 21: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/21.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: -1
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
? ? ? ?
![Page 22: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/22.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: -1
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
? ? ? ?
![Page 23: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/23.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: -1
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
? ? ? ?
![Page 24: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/24.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
? ? ? ?
![Page 25: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/25.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
? ? ? ?
![Page 26: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/26.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
? ? ? ?
![Page 27: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/27.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
100 ? ? ?
![Page 28: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/28.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 0 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
100 ? ? ?
![Page 29: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/29.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 100?
0 1 2 3
100 ? ? ?
![Page 30: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/30.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 ? ? ?
![Page 31: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/31.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 ? ? ?
![Page 32: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/32.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 ? ? ?
![Page 33: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/33.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 ? ? ?
![Page 34: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/34.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 ? ? ?
![Page 35: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/35.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 75 ? ?
![Page 36: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/36.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 1 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 75 ? ?
![Page 37: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/37.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 2 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Exemplo: vamos inserir o número 75?
0 1 2 3
100 75 ? ?
![Page 38: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/38.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 0
fim: 1
num: 2 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• ...
0 1 2 3
100 75 ? ?
Depois de algum tempo....
![Page 39: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/39.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 3
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
100 75 90 66
![Page 40: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/40.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 3
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
100 75 90 66
![Page 41: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/41.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 4
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
100 75 90 66
![Page 42: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/42.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 4
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
100 75 90 66
![Page 43: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/43.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 0
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
100 75 90 66
![Page 44: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/44.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 0
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
100 75 90 66
![Page 45: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/45.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 0
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
45 75 90 66
![Page 46: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/46.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 0
num: 3 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
45 75 90 66
![Page 47: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/47.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 0
num: 4 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 45?
0 1 2 3
45 75 90 66
![Page 48: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/48.jpg)
Tamanho de Filas Circulares • Enfileirar
fila:
inicio: 1
fim: 0
num: 4 • Se num < MAX
– fim = fim + 1
– Se fim == MAX, fim = fim - MAX
– Coloca novo valor no fim
– num = num + 1
• Vamos inserir o valor 99?
0 1 2 3
45 75 90 66
![Page 49: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/49.jpg)
REMOVENDO ELEMENTOS DE FILA CIRCULAR
![Page 50: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/50.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 3
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 51: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/51.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 3
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
66
![Page 52: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/52.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 3
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 53: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/53.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 4
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 54: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/54.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 4
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 55: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/55.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 0
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 56: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/56.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 0
fim: 0
num: 2 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 57: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/57.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover um valor?
0 1 2 3
45 75 90 66
![Page 58: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/58.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
![Page 59: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/59.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
45
![Page 60: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/60.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 0
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
![Page 61: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/61.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 1
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
![Page 62: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/62.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 1
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
![Page 63: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/63.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 1
fim: 0
num: 1 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
![Page 64: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/64.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 1
fim: 0
num: 0 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover outro valor?
0 1 2 3
45 75 90 66
![Page 65: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/65.jpg)
Removendo elementos... • Desenfileirar
fila:
inicio: 1
fim: 0
num: 0 • Se num > 0
– Remove valor do início
– inicio = inicio + 1
– Se inicio >= MAX, inicio = inicio - MAX
– num = num - 1
• Vamos remover mais um valor?
0 1 2 3
45 75 90 66
Fila Vazia!
![Page 66: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/66.jpg)
EXERCÍCIOS DE FIXAÇÃO
![Page 67: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/67.jpg)
Exercício 1 • Faça um programa que apresente o seguinte
menu:
1. Enfileirar um número inteiro positivo
2. Desenfileirar um número e imprimir o seu dobro
3. Desenfileirar tudo, exibindo os valores sem alterações
4. Terminar o programa
![Page 68: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/68.jpg)
Exercício 2 • Faça um programa que leia uma sequência de
caracteres (char), crie uma filaA, de chars, e uma filaB, de ints, e os enfileire:
– Se for uma letra, enfileire-o na fila A
– Se for um digito, converta-o para número inteiro e enfileire-o na fila B
• Ao final, desenfileire os valores de B e A, nesta ordem, imprimindo os valores.
DICAS:
• isdigit(x) retorna 0 se não for dígito (cctype)
• isalpha(x) retorna 0 se não for letra (cctype)
• Se x é um dígito (valor ASCII), x-’0’ é o valor numérico do dígito
![Page 69: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/69.jpg)
CONCLUSÕES
![Page 70: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/70.jpg)
Resumo
• Filas: lista do tipo FIFO
• Fila Circular: reaproveitar espaços já liberados para novos elementos
• São úteis para – As mesmas coisas que fila
– São mais eficientes que as filas sequenciais simples
• TAREFA – Estudar!
![Page 71: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/71.jpg)
Próxima Aula
• Vimos várias listas... – Todas de tamanho
máximo pré-definido
– Elementos simples
• Como se livrar dessas limitações? – Precisaremos de alguns
conceitos novos!
– Estruturas e Ponteiros!
![Page 72: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/72.jpg)
PERGUNTAS?
![Page 73: ESTRUTURA DE ADOS - CaetanoImplementando Filas •Inserindo elemento fila: inicio: 4 fim: 0 –fim = fim + 1 –Se fim == MAX, fim = fim - MAX –Coloca novo valor no fim •Exemplo:](https://reader034.fdocuments.net/reader034/viewer/2022042412/5f2b0d4e87936b7be70bd7d5/html5/thumbnails/73.jpg)
BOM DESCANSO A TODOS!