Pilha em Java
A pilha em Java é uma das estruturas de dados e trabalha com o formato LIFO (o último a entrar é o primeiro a sair, “Last In, First Out”, em inglês).
Lembre-se da pilha como uma pilha de livros, em que o primeiro livro que foi inserido na pilha, normalmente é o último que sai dela, enquanto o último adicionado é o primeiro a ser retirado:
public class Pilha {
public Object[] pilha;
public int posicaoPilha;
public Pilha() {
this.posicaoPilha = -1; // indica que está nula, vazia
this.pilha = new Object[1000]; // criando uma pilha com 1000 posições
}
public boolean pilhaVazia() { //isEmpty
if (this.posicaoPilha == -1) { //se posição for nula (-1)...
return true;
}
return false;
}
public int tamanho() { //is
if (this.pilhaVazia()) { //se estiver nula...
return 0;
}
return this.posicaoPilha + 1; //senão, retorna o tamanho da pilhao
}
public Object exibeUltimoValor() { //top
if (this.pilhaVazia()) { //se nula...
return null;
}
return this.pilha[this.posicaoPilha];
}
public Object desempilhar() { //pop
if (pilhaVazia()) { //se nula (vazia)...
return null;
}
return this.pilha[this.posicaoPilha--]; //decrementa do tam. pilha
}
public void empilhar(Object valor) { // push
if (this.posicaoPilha < this.pilha.length - 1) {
this.pilha[++posicaoPilha] = valor;
}
}
public static void main(String args[]) {
Pilha p = new Pilha();
p.empilhar("Portuguesa ");
p.empilhar("Frango com catupiry ");
p.empilhar("Calabresa ");
p.empilhar("Quatro queijos ");
p.empilhar(10);
while (p.pilhaVazia() == false) {
System.out.println(p.desempilhar());
}
}
}
Domine as boas práticas com projetos práticos que vão te ajudar a desenvolver sistemas e se destacar no mercado de programação.
Clique na imagem abaixo e conheça mais detalhes do nosso curso:
Link do curso: https://go.hotmart.com/S90628636G?src=siteCB
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits