在循环期间打印节点的值我发现它总是在第一个节点上无限循环,例如,当搜索不在列表中的节点时(如果它在列表上工作)。我使用节点指向第一个元素以及最后一个元素。
这是我的搜索方法
public LNode search(int data){
LNode currNode = head;
while(data != currNode.value){
if(currNode.next == null)
return null;
else{
currNode = currNode.next;
System.out.println("currnode " + currNode.value);
}
}
return currNode;
}
插入方法总是在开头插入元素
public void insert( LNode aNode ) {
if(head==null){
head = aNode;
tail = aNode;
size++;
}
aNode.next = head;
head = aNode;
size++;
}
就像第一个输入的元素有一个未设置为null的下一个节点,但我不知道为什么它不是空的
答案 0 :(得分:2)
我想在
if(head==null){
head = aNode;
tail = aNode;
size++;
}
缺少回复。 你用头做一个循环,用一个插入物将大小增加2。