我想从最小到最大插入排序随机整数到链表中。每次我运行这个方法时,它都会开始排序和打印,但最终会给我一个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