sexta-feira, 20 de julho de 2012

Algorítimo Torre de Hanói Implementado em Java



Neste tutorial vou mostrar como construir um algoritmo da Torre de Hanói usando recursividade. Este algoritmo sera montado e implementado em na linguagem de programação Java.
Construído no Netbeans 7.0 com Java Console, basta copiar e colar o código para ver algoritmo funcionando.


package torrehanoi;
import java.util.Scanner;
public class TorreHanoi {
    static double cont;    Scanner scn = new Scanner(System.in);    public static void main(String[] args) {        TorreHanoi programa = new TorreHanoi();
        programa.Inicio();
    }    private void Inicio() {
        System.out.println("Entre com numero de discos");
        double numero = scn.nextInt();
        cont = 0;        moverTorre(numero, 'A', 'C', 'B');
        System.out.println("\nEste é o Numero de Discos: " + numero);
        System.out.println("\nNumero de Movimentos: " + cont);
    }    private void moveUmDisco(char inicio, char fim) {
        cont = cont + 1;
        System.out.println("\n" + inicio + " " + fim + " Numero Movimentos = " + cont);
    }    private void moverTorre(double n, char inicio, char fim, char temp) {
        if (n == 1) {
            moveUmDisco(inicio, fim);
        } else {
            moverTorre(n - 1, inicio, temp, fim);
            moveUmDisco(inicio, fim);
            moverTorre(n - 1, temp, fim, inicio);
        }    }

}

Nenhum comentário:

Postar um comentário