我正在尝试在列表的末尾添加一个节点。这段代码是对的吗?
public void insertLast(int id,double dd)
{
Link current=First;
while(current!=null)
{
current=current.next;
}
Link temp=new Link(id,dd);
temp.next=current;
current=temp;
}
答案 0 :(得分:2)
将循环条件current!=null
更改为
current.next != null
因为已经指出,在循环结束后current
将是null
,并且您希望current
成为列表中的最后一个节点。但是,如果您选择这样做,那么您还需要在方法的开头检查First
是否为null
,因为如果是,则循环将抛出异常,因为您无法检查null
对象的下一个元素。
public void insertLast(int id,double dd)
{
Link current=First;
if(current == null) {
First = new Link(id,dd);
First.next = null;
return;
}
while(current.next != null)
{
current=current.next;
}
Link temp = new Link(id,dd);
current.next = temp;
temp.next = null;
}