嘿,我正在尝试为我制作的动态链接列表类制作一个快速排序方法。但我不断收到 NullPointerException 并且无法找出原因。
private void addToEnd(IntList y){
if(y.head != null ){
IntNode tmp = this.head;
while(tmp.getNext() != null){ //line 68
tmp = tmp.getNext();
}
tmp.setNext(y.head);
}
}
public IntList Quicksort(){
if(this.length() > 1){
IntList bList = new IntList();
IntList sList = new IntList();
IntList pivot = new IntList();
pivot.addNode(head);
int pivotInt = this.head.getValue();
IntNode test = this.head.getNext();
while(test != null){
if(test.getValue() > pivotInt){
bList.addNode(test);
}else{ sList.addNode(test);}
test = test.getNext();
}
sList.Quicksort().addToEnd(pivot);
sList.addToEnd(bList.Quicksort());
}
return this;
}
我在第 68 行收到 NullPointerException,但不知道为什么。有谁可以帮我离开这里吗?第 68 行是
while(tmp.getNext() != null){ //line 68