末插入節點我寫了這個代碼在linkedlist
的末尾插入一個節點,但我只得到了當我打印列表中的第1個要素:誤差在鏈表中的Java
public class LinkedList {
public class Link{
private int data;
private Link next;
public Link(int data,Link next){
this.data = data;
this.next = next;
}
public void printLink(){
System.out.print(data);
}
}
private Link head;
public LinkedList(){
head = null;
}
public void insertNode_end(int data1){
Link node = new Link(data1,null);
if(head == null){
node.next = head;
head = node;
}
else{
Link ptr = head;
while(ptr != null){
ptr = ptr.next;
}
node.next = null;
ptr = node;
}
}
public void printList(){
Link curr_node = head;
while(curr_node != null){
curr_node.printLink();
curr_node = curr_node.next;
}
}
public static void main(String args[]){
LinkedList obj = new LinkedList();
obj.insertNode_end(1);
obj.insertNode_end(2);
obj.insertNode_end(3);
obj.insertNode_end(4);
obj.insertNode_end(5);
obj.printList();
}
}
我只看到1
正在打印。我也試圖做ptr.next = node
,但它然後拋出null pointer exception
。
我在這裏犯的錯誤是什麼?
我建議您在IDE的調試器中逐步調試代碼,以幫助調試代碼。 –