Ερώτηση σχετικα με λειτουργεία αναδρομής
Posted: Sat Oct 24, 2009 12:33 am
Παρακάτω παραθέτω τον αλγόριθμο επίλυσης των πύργων του Hanoi. Αυτό που δεν μπορώ να καταλάβω και ζητάω τη βοήθεια σας είναι μέσα στο σκέλος της else
δεν μπορώ να καταλάβω γίνεται αναδρομή μία φορά από τη στιγμή που το rings !=1 μετά την κλήση θα επιστρέψει στην printf η θα γίνει και επόμενη αναδρομή μέχρι rings==1;;
Γενικά 2 αναδρομές μέσα στην ίδια else με έχει κάνει να τα χάσω.. HELP
δεν μπορώ να καταλάβω γίνεται αναδρομή μία φορά από τη στιγμή που το rings !=1 μετά την κλήση θα επιστρέψει στην printf η θα γίνει και επόμενη αναδρομή μέχρι rings==1;;
Γενικά 2 αναδρομές μέσα στην ίδια else με έχει κάνει να τα χάσω.. HELP
Code: Select all
void hanoitowers(int rings, int start, int goal, int spare)
{
if(rings = = 1)
printf("Move from %d to %d \n", start, goal);
else
{
hanoitowers(rings-1, start, spare, goal);
printf("Move from %d to %d \n", start, goal);
hanoitowers(rings-1, spare, goal, start);
}
}