reverse a linked list?
        Posted  
        
            by sil3nt
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by sil3nt
        
        
        
        Published on 2010-05-22T09:41:13Z
        Indexed on 
            2010/05/22
            10:10 UTC
        
        
        Read the original article
        Hit count: 264
        
Hi there, Im trying to reverse the order of the following linked list, I've done so, But the reversed list does not seem to print out. Where have I gone wrong?
//reverse the linked list
    #include <iostream>
    using namespace std;
    struct node{
        int number;
        node *next;
    };
    node *A;
    void addNode(node *&listpointer, int num){
        node *temp;
        temp = new node;
        temp->number = num;
        temp->next = listpointer;
        listpointer = temp;
    }
    void reverseNode(node *&listpointer){
        node *temp,*current;
        current = listpointer;
        temp = new node;
        while (true){
            if (current == NULL){
                temp = NULL;
                break;
            }
            temp->number = current->number;
            current = current->next;
            temp = temp->next;
        }
        listpointer = temp;
    }
    int main(){
        A = NULL;
        addNode(A,1);
        addNode(A,2);
        addNode(A,3);
        while (true){
            if (A == NULL){break;}
            cout<< A->number << endl;
            A = A->next;
        }
        cout<< "****" << endl;
        reverseNode(A);
        while (true){
            if (A == NULL){break;}
            cout<< A->number << endl;
            A = A->next;
        }
        cout<< "****"<< endl;
        return 0;
    }
© Stack Overflow or respective owner