ProAnswers.org

How do you write a function that can reverse a linked-list?

i want to reverse the link list. pls help…

hope it will help you.

void reverselist(void)
{
if(head==0)
return;

if(head->next==0)
return;

if(head->next==tail)
{
head->next = 0;
tail->next = head;
}

else
{
node* pre = head;
node* cur = head->next;
node* curnext = cur->next;
head->next = 0;
cur-> next = head;

for(; curnext!=0; )
{
cur->next = pre;
pre = cur;
cur = curnext;
curnext = curnext->next;
}

curnext->next = cur;
}
}