[英]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;
}
}
您推進指針的方式有誤。 改變:
currentNode = currentNode.next;
previousNode = currentNode;
至
previousNode = currentNode;
currentNode = currentNode.next;
你讓 currentNode 和 previousNode 持有對同一個 object 的引用的方式,這不是你想要的。
編輯:你的最后一行也應該是
previousNode.next = newNode;
歐洲工商管理學院
newNode = previousNode.next;
因為您沒有以這種方式將新節點附加到列表中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.