![Page 1: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/1.jpg)
Pilhas e Filas
Nádia Félix e Hebert Coelho
Vários slides foram adaptados de Nina Edelwais e Renata GalanteEstrutura de Dados – Série de Livros Didáticos - Informática - UFRGS
![Page 2: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/2.jpg)
Pilha
Listas lineares especiaismais usuais
Pilhas e filas
Fila
LIFO Last In First Out o último componente inserido é o primeiro a ser retirado
FIFO First In First Out o primeiro componente inserido é também o primeiro a ser retirado
![Page 3: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/3.jpg)
Consultas
Exclusões Inserções
Topo
Base
Pilhas e Filas
Início FinalInserções
Exclusõese
Consultas
PILHA
FILA
![Page 4: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/4.jpg)
Pilhas
![Page 5: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/5.jpg)
ConsultasExclusões Inserções
Topo
Base
• Criar uma pilha vazia• Inserir um elemento no topo da pilha• Remover um elemento do topo de pilha• Consultar o topo da pilha• Destruir a pilha• Verificar se é cheia• Verificar se é vazia
Operações sobre PilhasPilhas
![Page 6: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/6.jpg)
Tipos de pilhas
• Alocação estática com acesso sequencial – uso de um array ou vetor
• Alocação dinâmica com acesso encadeado
![Page 7: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/7.jpg)
PilhaSequencialestática
![Page 8: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/8.jpg)
Pilha – Sequencial EstáticaMAX-1
0Pilha
Índicesdo arranjo
• Implementada usando um arranjo
7qtd
![Page 9: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/9.jpg)
PilhaSequencial.h
• O tamanho MAX do array, representada pela constante MAX
• O tipo de dado que será armazenado na pilha, struct aluno
• As funções disponíveis para se trabalhar com essa pilha
![Page 10: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/10.jpg)
PilhaSequencial.c
• As chamadas às bibliotecas necessárias à implementação da pilha
• A definição do tipo que descreve o funcionamento da pilha, struct pilha
• As implementações das funções definidas no arquivo PilhaSequencial.h
![Page 11: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/11.jpg)
PilhaSequencial.h
![Page 12: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/12.jpg)
PilhaSequencial.c
![Page 13: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/13.jpg)
MAX - 1
Pilha
1. Alocar área para a pilha2. Indicar que a pilha está vazia
Criação da pilhaPilha – contiguidade física
9
8
7
6
5
4
3
2
1
0
0qtd
![Page 14: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/14.jpg)
Destruir a pilha
![Page 15: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/15.jpg)
Tamanho da pilha
![Page 16: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/16.jpg)
Retornando se a pilha está cheia
![Page 17: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/17.jpg)
Retornando se a pilha está vazia
![Page 18: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/18.jpg)
MAX -1
Pilha
MAX - 1
Pilha
9876543210
Operação PUSH
Inserção de um elemento na pilha
9
8
7
6
5
4
3
2
1
0 4qtd3qtd
![Page 19: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/19.jpg)
Inserindo um elemento na pilha
![Page 20: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/20.jpg)
MAX - 1
Pilha
MAX - 1
Pilha
Operação POP
Remoção de um elemento da pilha
9
8
7
6
5
4
3
2
1
0
9
8
7
6
5
4
3
2
1
04qtd5qtd
![Page 21: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/21.jpg)
Removendo um elemento da pilha
![Page 22: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/22.jpg)
?
MAX - 1
Topo
Pilha
9876543210
Consulta o topa da pilha
• Acesso somente ao elemento do topo da pilha
![Page 23: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/23.jpg)
Complexidade
• Inserção, remoção e consulta: O(1)
![Page 24: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/24.jpg)
Pilhas implementadas por encadeamento
![Page 25: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/25.jpg)
Base
Topo
inserções
remoções
?consultas
PtPilha
Info prox
Topo da pilha
Endereço do topo da pilha
Pilha implementada por encadeamento
![Page 26: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/26.jpg)
PilhaDin.h
![Page 27: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/27.jpg)
PilhaDin.c
![Page 28: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/28.jpg)
Cria Pilha vazia
![Page 29: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/29.jpg)
Topo
Inserção de um nodo em pilha encadeada
Topo
Pilha por encadeamento
• Novo nodo inserido sempre no topo da pilha
PtPilha PtPilha
Topo
Novo nodo
![Page 30: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/30.jpg)
Inserção de um nodo em pilha encadeada
![Page 31: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/31.jpg)
PtPilha
Topo
Desempilha um nodo de uma pilha encadeadaPilha por encadeamento
Topo
PtPilha
• Só pode ser removido o nodo do topo da pilha
Nodo a ser removido
![Page 32: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/32.jpg)
Desempilha um nodo de uma pilha encadeada
![Page 33: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/33.jpg)
Consulta à pilha encadeada Pilha por encadeamento
• Só pode ser acessado o nodo do topo da pilha
Topo
PtPilha Nodo que pode ser acessado
![Page 34: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/34.jpg)
Consulta à pilha
![Page 35: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/35.jpg)
PtPilha = null
Topo
Topo
Topo
Topo
PtPilha
PtPilha
PtPilha
Destruição de uma pilha encadeada Pilha por encadeamento
• Liberar espaço ocupado pelos nodos, sempre a partir do topo da pilha
• No final: apontador para o endereço nulo
![Page 36: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/36.jpg)
Destruir pilha
![Page 37: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/37.jpg)
Verifica de pilha esta cheia
Verifica de pilha esta vazia
![Page 38: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/38.jpg)
Exercício
Implemente o TAD Pilha utilizando alocação dinâmica de memória e acesso encadeado.
Teste o programa para reconhecer quais palavras são palíndromos em uma dada frase.
![Page 39: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/39.jpg)
Aplicação da estrutura de dados Pilha em avaliação de expressões aritméticas
Forma das expressõesConsidere: Operandos: [0,...,9] Operadores:[+,-,/,x,^] Delimitadores: [(,)]Exemplos:2 + 3 * 5 = 17(2 + 3) * 5 = 25
As operações são efetuadas de acordo com a ordem de precedência dos operadores;
Os parênteses alteram a ordem natural deavaliação dos operadores.
![Page 40: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/40.jpg)
Proponham um algoritmo para avaliar expressões aritméticas
22 – 56 / 2;( 22 – 56 ) / 2;40 / ( 2 x ( 3 – 1 ) + 6 );2 ^ 3 x 4;2 ^ ( 3 x 4 );
?
![Page 41: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/41.jpg)
Notação Polonesa e Notação Polonesa Inversa
Notação Polonesa (pré-fixada)- Proposta por Jan lukasiewiscz em 1920
- permite escrever uma expressão aritmética em que a precedência é implícita – operador antes dos operandos:Notação infixa: (1-2)*(4+5)Notação pré-fixa: * - 1 2 + 4 5
Notação Polonesa Inversa (pós-fixada) - proposta por Charles Hamblin em 1950.– pós-fixa = operador após operandosNotação pós-fixa: 1 2 – 4 5 + *
![Page 42: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/42.jpg)
Notação Polonesa e Notação Polonesa Inversa expressão:
---------- 2 + 5 x 3 2 + 3 – 42 + (3 – 4)(2 + 4)/(3 -1)(2+4)/(3-1)x42^2*3-4+1/2/(1+1)
forma pós-fixada
2 5 3 x + 2 3 + 4 - 2 3 4 - +2 4 + 3 1 - /2 4 + 3 1 – / 4 x2 2 ^ 3 * 4 – 1 2 / 1 1 + / +
forma pré-fixada
+ 2 x 5 3 - + 2 3 4+ 2 – 3 4/ + 2 4 -3 1x / +2 4-3 1 4 + -*^2 2 3 4 / / 1 2 + 1 1
![Page 43: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/43.jpg)
Um possível algoritmo para avaliação de uma expressão pós-fixa
• cada operando é empilhado numa pilha de valores• quando se encontra um operador
– desempilha-se o número apropriado de operandos (dois para operadores binários e um para operadores unários)
– realiza-se a operação devida– empilha-se o resultado
• Exemplo:• avaliação da expressão 1 2 – 4 5 + *
![Page 44: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/44.jpg)
![Page 45: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/45.jpg)
Como transformar uma expressão na forma infixa para pos-fixa???
- Expressões entre parênteses devem ser convertidos de tal forma que possam ser tratadas como um único operando.
- Somente operadores são empilhados . Um operador é empilhado apenas se possui precedência maior que o operador no topo da pilha.
- Abre parênteses é sempre empilhado- Fecha parênteses nunca é empilhado (menor
precedência).Todos os operadores são desempilhados até encontrar um ‘(‘.
- Operandos e operadores desempilhados são colocados na expressão na forma pós-fixa
![Page 46: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/46.jpg)
Exercício usando pilha 1) Escreva uma função que transforma uma
expressão da forma in-fixa para a forma pós-fixa.
2) Escreva uma função que avalie uma expressão na forma pós-fixa
3) Escreva um programa que entra com a expressão aritmética pela linha de comando e avalia a expressão.
![Page 47: Pilhas e Filas - inf.ufg.brhebert/disc/aed1/AED1_09_Pilas.pdf · Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura](https://reader033.vdocuments.mx/reader033/viewer/2022051309/5c1015d609d3f23e618c01cd/html5/thumbnails/47.jpg)
Exercício usando pilha – cont.
Os operandos são números reais (positivos e negativos);
Os operadores são: {+,-,x,/,^}Os delimitadores são: {(,)}
Ex: 3.4 x 5 + ( 2.1 – 12 ) (-23 + 24.3 / 2.1) ^ 3