Producteurs/Consommateurs tour de hanoi
Bonjour tout le monde
Je suis étudiant en informatique et j'ai recu la tâche suivante:
la tour de hanoi peut être programmé récursive avec les méthodes suivantes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void hanoi(int discs, String start, String aim, String temp)
{
hanoi(discs- 1, start, aim, temp);
move(discs, start, aim);
hanoi(discs- 1, temp, aim, start);
}
void move(int disc, String start, String aim)
{
System.out.println("Disc" + disc+ " from " + start + " to " + aim);
} |
Avec
Code:
hanoi(3, "A", "B", "C")
le programme donne tous les tours d'un coup. Modifiez l'algorithme ainsi qu'il y a une méthode "nextMove", qui permet d'imprimer un tour après l'autre en utilisant le modèle consommateur/producteur.
Est-ce que quelqu'un peut me donner une astuce comment réaliser ce devoir?
Est-ce que c'est possible de continuer d'utilser les méthodes recursives? Quelle partie est le consommateur et la-quelle le producteur?
Je suis désesperé car je suis devant ce devoir depuis 8 heures. J'ai essayer de réaliser ca avec un "stack", qui a les methodes "pop" et "push" pour les tours, mais ca marche pas. Alors si quelqu'un peu me donner juste une idée comment le faire, ca m'aiderai déjà.
Merci d'avance.