java - In this linked list method I try to add a item in sorted order, but I am getting a null pointer exception -


    public void addnode(car newcarentry){     listnode currentnode;     listnode previousnode;     listnode newnode = new listnode(newcarentry);      if (head == null || newcarentry.isnewerthan(head.caritem)){         newnode.next = head;         head = newnode;     }else{         currentnode = head.next;         previousnode = head;         while(currentnode != null &&      !newcarentry.isnewerthan(currentnode.caritem)){             currentnode = currentnode.next;             previousnode = currentnode;         }         newnode.next = currentnode;         newnode = previousnode.next;     } } 

you have mistake in way advance pointers. change:

        currentnode = currentnode.next;         previousnode = currentnode; 

to

        previousnode = currentnode;         currentnode = currentnode.next; 

your way make both currentnode , previousnode holding references same object, not want.

edit: last line should

    previousnode.next =  newnode; 

insead

    newnode = previousnode.next; 

because not attaching new node list way.


Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

java - Output of Eclipse is rubbish -

jquery - Confused with JSON data and normal data in Django ajax request -