Pilha Com Alocação dinamica

7 respostas
F

Meu professor deu uma pilha desse estilo em Pascal e ele pidiu para nos fazermos ela em Java, mais no pascal usam ponteiros, coisa q em java naum existe, eu queria saber algum metodo para eu utilizar uma referencia a uma memoria, segunda uma varial, ou se alguem tiver algum modelo de pilha dinamica em java pra eu poder analisar.

PS: Não pode conter APIs

Abraço

7 Respostas

T

Olá,

Basta você implementar uma estrutura de dados que só permita a inserção/retirada de elementos de um mesmo ponto.

[]´s
Tatiana

F

Ola tatiana

vc poderia ser mais especifica?

P

é, ai está a grande vantagem do java, quase tudo já é referência.

quando voce faz:

SuaClasse seuobjeto = new SuaClasse();

vc esta dizendo que seuobjeto está apontando para uma instancia de SuaClasse, ou seja, seuobjeto é um “ponteiro” para ela.

você pode usar lista encadeada?

faça assim:

class SuaClasse {
   String cidade;
   SuaClasse proximo;
}

assim, crie em outra classe uma referencia para um objeto de SuaClasse e depois é so percorrer os itens através de seu atributo proximo.

qquer duvida, poste seu problema aqui, com mais detalhes para melhor fornecermos um caminho.

sds.

F

Agora acho q entendi, vou tentar :smiley:

Brigado

L

Pense na referencia ao objetos com ponteiros... algo do tipo

/*
*  Classe para o Nó
*/
public class No {

        private String valor;
        private No proximo;

        public String getValor(){
             return this.valor;
        }
       
        public void setValor(String valor){
             this.valor = valor; 
        }

        public No getProximo(){
             return this.proximo;
        }
       
        public void setProximo(No proximo){
             this.proximo = proximo; 
        }


}
/*
*  Classe para pilha
*/
public class Pilha{

        private No top = null;

        //inserindo novo Nó na pilha
        public void push(String valor){
            if ( top == null){
                 this.top = new No();
                 this.top.setValor(valor);
                 this.top.setProximo(null);
            }else{
                 No novo = new No();
                 novo.setValor(valor);
                 novo.setProximo(this.top);
                 this.top = novo;  
            }

        }
         //implemantação dos outros métodos da pilha..... 
}

fiz isso aqui no Edit do Guj mesmo, pode ter error de digitação, mas o importante é a idéia de que a referência aos objetos podem ser pensadas como """ponteiros""".......mas elas não são viu :shock:

F

Se alguem quiser converir

ftp://ftp.inf.unoescvda.edu.br/Computa��o/Estrutura%20de%20Dados%20II%20-%20200602/PILHA.PAS

esse é o caminho para o programa em pascal

este deve ser convertido em Java.

Mas eu não quero que me passem ele em Java, eu quero aprender como se faz.

F

Me surgiu outro problema
Estou usando uma Java GUI Form (utilizo o NetBeans)
Para testar o programa, mas que quero q em um JLabel aparece oq acontece dentro da pilha pra mim saber se o armazenamento esta correto, alguem pode me ajudar?

Criado 12 de setembro de 2006
Ultima resposta 12 de set. de 2006
Respostas 7
Participantes 4