末插入节点我写了这个代码在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的调试器中逐步调试代码,以帮助调试代码。 –