C++ Interview Questions and Answers

 

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

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;



}


}

Posted by:Richards