Como implementar uma pilha em Java usando Arrays
Como implementar uma pilha em Java usando um array
Anteriormente nós estudamos o funcionamento e aplicações das pilhas em estruturas de dados. Vamos ver agora como implementar uma estrutura de pilha na linguagem Java, usando um array como base.
Lembrando que também é possível implementar pilhas usando listas ligadas, assunto que abordaremos mais à frente em nosso curso de Estruturas de Dados.
Criando a Pilha
Primeiramente criaremos uma classe de nome Pilha para representar as pilhas no programa principal:
/* Implementando operações com pilhas em Java Criando a Classe Pilha Implementamos as funções isEmpty, peek, push e pop */ public class Pilha { static final int MAX = 1000; int top; int a[] = new int[MAX]; // Define tamanho máximo da pilha // Construtor Pilha() { top = -1; } // Métodos da pilha boolean isEmpty() { return (top < 0); } boolean push(int x) { if (top >= (MAX-1)) { System.out.println("Estouro de Pilha!"); return false; } else { a[++top] = x; return true; } } int pop() { if (top < 0) { System.out.println("Pilha Vazia!"); return 0; } else { int x = a[top--]; return x; } } int peek() { if (top < 0) { System.out.println("Pilha Vazia!"); return 0; } else { return a[top]; } } }
Usando a pilha
Para usar a nossa classe Pilha vamos instanciá-la no programa principal e realizar algumas operações push e pop para inserir e retirar itens na pilha:
// Código do main import java.util.Scanner; public class PilhaJava { public static void main(String args[]) { Scanner entrada = new Scanner(System.in); System.out.println("Entre com um número:"); int valor = entrada.nextInt(); Pilha novaPilha = new Pilha(); novaPilha.push(valor); novaPilha.push(70); novaPilha.push(88); System.out.println("Item de valor " + novaPilha.pop() + " retirado da pilha"); System.out.println("Item restante: " + novaPilha.peek()); System.out.println("Item de valor " + novaPilha.pop() + " retirado da pilha"); System.out.println("Item restante: " + novaPilha.peek()); } }
Resultado:
É isso aí! No próximo tutorial veremos como criar e utilizar pilhas em linguagem C.
Até lá!
Olá Fábio, gostaria de tirar uma dúvida.
Como vc faz para estudar tanto conteúdo, está atento a tantas novidades, uma vez que essas tendencias passam muito rapido, e o estudo e constante.
E quando vc ministra as aulas, grande parte é de kbeça ou vc faz um reestudo para lembrar os conceitos ?
Olá Guilherme!
Sua pergunta já contém a própria resposta: o estudo é constante.
Basicamente, o que faço o dia todo é pesquisar e estudar, quando não estou trabalhando – e meu trabalho consiste em produzir conteúdo e ministrar cursos, o que significa treinar tudo o que estudei.
Fazendo isso 12h por dia (às vezes mais) consigo me manter a par das tendências tecnológicas que, como você observou muito bem, passam muito rápido.
Com relação às aulas, no geral o conteúdo que uso com mais frequência está “na ponta da língua”, como por exemplo tópicos de lógica de programação, bancos de dados, linguagens em geral, conceitos de eletrônica. Já conceitos que não uso com muita frequência acabo tendo de revisar mesmo, não tem jeito, lembrar de tudo é impossível!