Play and learn 300 000+ tabs online

Wednesday, June 2, 2010

Reverse a Linked List in C Function

    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;
    }
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.