Torre de Hanoi (Pilhas)

1 resposta
E

Bom galera, to tendo problemas pra fazer um trabalho da facul aqui. Preciso fazer um programa que resolva uma enigma da torre de Hanoi de 5 discos.
Eu já consegui fazer as 3 pilhas aqui, mais agora preciso fazer um método que passaria os elementos de uma pilha para outra. Como eu poderia fazer isso ??
Seria uma função em Main msm ?

Classe Pilha:
public class Pilha {

     private int topo, capacidade, dados[];

     //construtor

     public Pilha(int capacidade) {

                //topo comeca em -1 porque não tem dados
		topo = -1;
		this.capacidade = capacidade;

                //instancia vetor com "capacidade" espaços
		dados = new int[capacidade];
	    }

            //coloca elemento no topo

	    public void push(int i) {

             //se tiver cheio exibe mensagem vetor cheio

		if ( topo+1==capacidade )
                    System.out.println("Ora bolas ! Vetor cheio !");
                else dados[++topo] = i;

  	     }



	    public int pop() {
                //desempilha e retorna objeto do topo
		return dados[topo--];
            }

            public void top(){
                //mostra o topo da pilha
                System.out.println(dados[topo]);
            }
}
Classe Main:
public class Main {


    public static void main(String[] args) {
        int x;

        Pilha p1 = new Pilha(5);
        Pilha p2 = new Pilha(5);
        Pilha p3 = new Pilha(5);
        
        p1.push(5);
        p1.push(4);
        p1.push(3);
        p1.push(2);
        p1.push(1);

        System.out.println(p1.pop());

    }


}

1 Resposta

O

Cara vc já conseguiu resolver este problema?
Estou com um exercicio parecido para fazer da facul!
Tem como dar uma força??
flw!!!

Criado 17 de abril de 2011
Ultima resposta 26 de set. de 2012
Respostas 1
Participantes 2