Hi guys,
I was wondering if I could get some help on the topic of recurrsion. A week ago i was told to create a application using nodes. this week I need to convert the reverse_list fuction I made below into using recursion. any help would be great thanks.
not using recurrsion and works!
void reverse_list (node*& head_ptr)
{
node* temp_ptr = head_ptr->link(); // holding 2nd node reference.
node* iter_ptr = temp_ptr->link(); // hold the reference of 3rd Node OR NULL.
head_ptr->set_link(0); // setting the first Node next = 0
while (temp_ptr==NULL) // looping through 2nd node to the end.
{
iter_ptr = temp_ptr->link(); // saving the 3rd Node.
temp_ptr->set_link(head_ptr); // reversing
head_ptr = temp_ptr; // incrementing head.
temp_ptr = iter_ptr; // increment
}
}
trying to use recurrsion and does not work
void reverse_list (node*& head_ptr)
{
node* current_ptr = head_ptr->link(); //holding 2nd node
while (current_ptr->link() != NULL) //checking if at end of list
{
current_ptr->set_link(head_ptr); //reversing
head_ptr = current_ptr; //incrementing
reverse_list(head_ptr); //calling function again
}
}