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
Post a Comment