我想從最小到最大插入排序隨機整數到鏈表中。每次我運行這個方法時,它都會開始排序和打印,但最終會給我一個nullpointerexception?任何幫助表示讚賞。試圖插入排序鏈接列表
public void insertInOrder(int x) {
if (head == null) {
head = new Node(x);
} else {
Node prev;
Node curr;
for (prev = null, curr = head;
(curr != null) && (x > curr.getNumber());
prev = curr, curr = curr.getNext()) {}
if (prev == null) {
insertAtHead(x);
}
if (curr == null) {
insertAtTail(x);
} else {
Node nNex = new Node(x);
nNex.setNext(curr);
prev.setNext(nNex); // NullPointerException is raised here
}
}
}
NullPointerException發生在哪裏? – gus27
at prev.setNext(nNex); – Brendon
在檢查'prev == null'之後,'prev'變量不會再被更新/更改。所以在'prev.setNext()'看來不可避免的是引發了NullPointerException。 – gus27