PilhaFilaArranjos
409 palavras
2 páginas
Pilhas e Filas com ArranjosRaphael Winckler de Bettio
Pilhas
●
●
●
É uma lista linear em que todas as inserções, retiradas e, geralmente, todos os acessos são feitos em apenas um extremo da lista.
Os itens são colocados um sobre o outro. O item inserido mais recentemente está no topo e o inserido menos recentemente no fundo.
LIFO (Last In, First Out)
Push()
Pop()
Colocar()
Retirar()
Pilhas
●
Como as inserções e as retiradas ocorrem no topo da pilha, um cursor chamado Topo é utilizado para controlar a posição do item no topo da pilha.
Pilhas
Operação Retirar
7
Operação Colocar
6
6
5
5
4
7
4
12
TOPO
3
2
3
2
2
6
2
6
1
5
1
5
12
Pilhas
Verificar se a pilha está cheia
✔Verificar se a pilha está vazia
✔
Pilhas - Push()
Pilhas - Pop()
Filas
●
●
●
É uma lista linear em que todas as inserções são realizadas em um extremo da lista, e todas as retiradas e, geralmente, os acessos são realizados no outro extremo da lista.
São utilizadas quando desejamos processar itens de acordo com a ordem “primeiro-quechega, primeiro-atendido”.
FIFO (First In, First Out)
Enfileira()
Desenfileira()
Enqueue()
Dequeue()
Filas
1
2
3
4
5
6
7
8
9
5
6
7
8
9
6
7
8
9
Inserção (10,14,66,77)
1
2
3
4
10
14
66
77
Inicio
Remoção (10,14)
1
2
3
4
66
77
Fim
5
Filas
●
●
A fila tende a caminhar pela memória do computador, ocupando espaço na parte de trás e descartando espaço na parte da frente.
Com poucas inserções e retiradas, a fila vai ao encontro do limite do espaço da memória alocado para ela
Filas Circulares
●
●
●
●
Solução: imaginar o arranjo como um círculo. A primeira posição segue a última.
A fila se encontra em posições contíguas dememória, em alguma posição do círculo, delimitada pelos apontadores frente e trás.
Para enfileirar, basta mover o apontador trás uma posição no sentido horário.
Para desenfileirar, basta mover o apontador frente uma posição no sentido horário
Filas Circulares
Inserção (10,14,66,77)