PilhasPilhas
Uma pilha é um conjunto ordenado de itens no
qual novos itens podem ser inseridos e a partir
do qual podem se...
PilhasPilhas
• Podem ser implementadas por meio de arranjos
(vetores) ou listas
• Topo corresponde ao último elemento do c...
PilhasPilhas
ExemploExemplo
Pseudocódigo que representa uma pilha implementada
com arranjo
Algoritmo Pilha - principalAlgoritmo Pilha - principal
Algoritmo Pilha
var
Tipo pilha_reg = registro
topo: inteiro
element...
AlgoritmoAlgoritmo Pilha – funções cheia e vaziaPilha – funções cheia e vazia
Função vazia( ): lógica
início
Se (pilha.top...
Algoritmo Pilha – Procedimento empilharAlgoritmo Pilha – Procedimento empilhar
Procedimento empilhar(elem: inteiro)
início...
Algoritmo Pilha – FunçãoAlgoritmo Pilha – Função
desemplilhardesemplilhar
Função desempilhar( ): literal
var
valorDesempil...
Algoritmo Pilha – Procedimento exibePilhaAlgoritmo Pilha – Procedimento exibePilha
Procedimento exibePilha( )
var
i:inteir...
Implementação da classeImplementação da classe
 class Pilha {
int tamanho;
int topo;
Object vetor[];
Pilha(int tam) {
topo...
Métodos vazia e cheiaMétodos vazia e cheia
public boolean vazia (){
if (topo == -1)
return true;
else
return false;
}
publ...
Método empilharMétodo empilhar
public void empilhar(Object elem){
if (cheia( ) == false)
{ topo++;
vetor[topo] = elem;
}el...
Método desempilharMétodo desempilhar
public Object desempilhar(){
Object valorDesempilhado;
if (vazia( ) == true)
valorDes...
Método exibePilhaMétodo exibePilha
public void exibePilha(){
if (vazia() == true)
System.out.println("Pilha Vazia");
else{...
Classe que exemplifica a utilizaçãoClasse que exemplifica a utilização
da pilhada pilha
import javax.swing.JOptionPane;
cl...
Classe que exemplifica a utilizaçãoClasse que exemplifica a utilização
da pilha - Continuaçãoda pilha - Continuação
switch...
Próximos SlideShares
Carregando em…5
×

Pilha

833 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
833
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Pilha

  1. 1. PilhasPilhas Uma pilha é um conjunto ordenado de itens no qual novos itens podem ser inseridos e a partir do qual podem ser eliminados itens em uma extremidade chamada topo da pilha.
  2. 2. PilhasPilhas • Podem ser implementadas por meio de arranjos (vetores) ou listas • Topo corresponde ao último elemento do conjunto • O último elemento que entra na pilha (lista) é o primeiro elemento que sai • O primeiro elemento que entra na pilha (lista) é o último que sai. o FILO – First in Last out o UEPS – último elemento que entra, primeiro que sai.
  3. 3. PilhasPilhas
  4. 4. ExemploExemplo Pseudocódigo que representa uma pilha implementada com arranjo
  5. 5. Algoritmo Pilha - principalAlgoritmo Pilha - principal Algoritmo Pilha var Tipo pilha_reg = registro topo: inteiro elemento: vetor[1..50] de inteiros fim pilha: pilha_reg inicio pilha.topo ← -1
  6. 6. AlgoritmoAlgoritmo Pilha – funções cheia e vaziaPilha – funções cheia e vazia Função vazia( ): lógica início Se (pilha.topo = -1) então retorne .v. Senão retorne .f. fim-se fim Função cheia( ): lógica início Se (pilha.topo = 50) então retorne .v. Senão retorne .f. fim-se fim
  7. 7. Algoritmo Pilha – Procedimento empilharAlgoritmo Pilha – Procedimento empilhar Procedimento empilhar(elem: inteiro) início Se (cheia( ) = .f.) então elemento.topo ← elem pilha.topo ← pilha.topo + 1 Senão Mostre(“Pilha Cheia!”) fim-se fim
  8. 8. Algoritmo Pilha – FunçãoAlgoritmo Pilha – Função desemplilhardesemplilhar Função desempilhar( ): literal var valorDesempilhado:literal início Se (vazia ( ) = .f.) então valorDesempilhado ← “Pilha Vazia” Senão valorDesempilhado ← pilha.vetor[topo] pilha.topo ← pilha.topo - 1 Fim-se retorne(valorDesempilhado) Fim
  9. 9. Algoritmo Pilha – Procedimento exibePilhaAlgoritmo Pilha – Procedimento exibePilha Procedimento exibePilha( ) var i:inteiro início Se vazia() = .v. então Mostre(“Pilha vazia”) Senão Para(i ← 0 até topo) faça Mostre(“Elemento ”, elemento[i], “ posição ”, i) Fim-para Fim-se fim fim. // fim do algoritmo principal
  10. 10. Implementação da classeImplementação da classe  class Pilha { int tamanho; int topo; Object vetor[]; Pilha(int tam) { topo = -1; tamanho = tam; vetor = new Object[tam]; }
  11. 11. Métodos vazia e cheiaMétodos vazia e cheia public boolean vazia (){ if (topo == -1) return true; else return false; } public boolean cheia (){ if (topo == tamanho -1) return true; else return false; }
  12. 12. Método empilharMétodo empilhar public void empilhar(Object elem){ if (cheia( ) == false) { topo++; vetor[topo] = elem; }else System.out.println("Pilha Cheia"); }
  13. 13. Método desempilharMétodo desempilhar public Object desempilhar(){ Object valorDesempilhado; if (vazia( ) == true) valorDesempilhado = "Pilha Vazia"; else{ valorDesempilhado = vetor[topo]; topo--; } return valorDesempilhado; }
  14. 14. Método exibePilhaMétodo exibePilha public void exibePilha(){ if (vazia() == true) System.out.println("Pilha Vazia"); else{ for(int i = topo; i >= 0; i--) System.out.println("Elemento " + vetor[i] + " posicao " + i); } } } // Fim da classe
  15. 15. Classe que exemplifica a utilizaçãoClasse que exemplifica a utilização da pilhada pilha import javax.swing.JOptionPane; class usaPilha { static Pilha P = new Pilha(5); int i = 0; static Object valor; public static void main(String args[]){ int opcao = 1; while (opcao != 4) { opcao = Integer.parseInt (JOptionPane.showInputDialog(null, "Escolha uma Opçao n" + "1-Inserir um elemento na pilha n" + "2- Excluir elemento da pilha n" + "3-Exibir elementos da pilhan" + "4-Sair n"));
  16. 16. Classe que exemplifica a utilizaçãoClasse que exemplifica a utilização da pilha - Continuaçãoda pilha - Continuação switch (opcao) { case 1 : valor = JOptionPane.showInputDialog(null, "Empilhar elemento n" + "Digite um valor"); P.empilhar(valor); break; case 2 : System.out.println("Elemento desempilhado " + P.desempilhar()); break; case 3 : P.exibePilha(); break; default: JOptionPane.showMessageDialog(null,"Sair"); } } }}

×