Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Pilhas |
Escreva um programa Java que cria uma classe Pilha usando um array de inteiros como armazenagem interna - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 447 vezes |
Pergunta/Tarefa: Escreva um programa Java que cria uma classe Pilha usando um array de inteiros como armazenagem interna. No construtor da classe você deverá permitir ao usuário informar o tamanho desse vetor interno. Forneça as funcionalidades padrão de uma pilha, a saber: empilhar um novo elemento, desempilhar o elemento no topo da pilha, retornar o elemento do topo sem removê-lo, exibir o conteúdo da pilha e verificar se ela está ou não vazia. Sua saída deverá ser parecida com: Pilha vazia: true Inseri os valores 3, 6 e 8 na pilha, nessa ordem Elementos na pilha: 8 6 3 Topo da pilha: 8 Elemento desempilhado: 8 Elementos na pilha: 6 3 Veja a resolução comentada deste exercício usando Java: Primeiro vamos analisar o código para a classe Pilha.java: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; public class Pilha { private int vetor[]; // vetor que guarda os elementos da pilha private int topo; // elemento no topo da pilha // construtor da classe public Pilha(int tamanho) { // alocamos memória para o vetor interno da pilha vetor = new int[tamanho]; // e ajustamos o topo como vazia topo = -1; } // método para empilhar um novo valor na pilha public void empilhar(int valor) { // a pilha já está cheia? if (topo == vetor.length - 1) { System.out.println("\nA pilha está cheia\n"); } else { // incrementa o ponteiro do topo topo++; // e guarda o novo valor no topo da pilha vetor[topo] = valor; } } // método para desempilhar e retornar o elemento // no topo da plha public int desempilhar() { // a pilha está vazia? if (topo == -1) { System.out.println("\nPilha vazia\n"); return -1; } else { // obtém o elemento no topo da pilha int elementoRemovido = vetor[topo]; // decrementa a variável de topo topo--; // e retorna o elemento removido return elementoRemovido; } } // retorna o elemento no topo da pilha sem // removê-lo public int topoPilha() { // a pilha está vazia? if (topo == -1) { System.out.println("\nPilha vazia\n"); return -1; } else { // retorna o elemento no topo, mas não remove return vetor[topo]; } } // método para verificar se a pilha está vazia public boolean pilhaVaiza() { return topo == -1; } // exibe os elementos na pilha public void exibirPilha() { // a pilha está vazia? if (topo == -1) { System.out.println("\nPilha vazia\n"); } else { System.out.print("Elementos na pilha: "); for (int i = topo; i >= 0; i--) { System.out.print(vetor[i] + " "); } System.out.println(); } } } Agora veja o código para a classe Estudos.java, que nos permite testar a nossa classe Pilha: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; public class Estudos { public static void main(String[] args) { // Vamos criar uma nova pilha Pilha pilha = new Pilha(10); // a pilha está vazia? System.out.println("Pilha vazia: " + pilha.pilhaVaiza()); // vamos inserir 3 elementos na pilha System.out.println("Inseri os valores 3, 6 e 8 na pilha, nessa ordem"); pilha.empilhar(3); pilha.empilhar(6); pilha.empilhar(8); // vamos exibir o conteúdo da pilha pilha.exibirPilha(); // vamos mostrar o topo da pilha System.out.println("Topo da pilha: " + pilha.topoPilha()); // vamos desempilhar um elemento da pilha System.out.println("Elemento desempilhado: " + pilha.desempilhar()); // vamos exibir o conteúdo da pilha novamente pilha.exibirPilha(); } } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - Como testar se uma string contém uma determinada substring em JavaScript usando a função includes() AutoCAD Civil 3D .NET C# - Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |