Bóson Treinamentos em Ciência e Tecnologia

Como implementar uma pilha em Java usando Arrays

Como implementar uma estrutura de pilha em Java usando array - Fábio dos Reis

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á!

 

Sair da versão mobile