Iterative version
void reverse()
{
if(head == NULL)
return;
list *first = NULL;
list *second = head;
list *third = second->next;
while(third!=NULL)
{
second->next=first;
first = second;
second = third;
third = third->next;
}
second->next = first;
head=second;
}
Recursive version
void rReverse(list *n)
{
if (n == NULL)
return;
if(n->next ==NULL)
{
head = n;
return ;
}
rReverse(n->next);
n->next = n;
}
No comments:
Post a Comment