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 ?
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]);
}
}
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());
}
}