我正在寻求澄清有关从链表中删除元素的内容。鉴于此代码:从链表中删除元素在索引
public boolean remove(int index)
{
// if the index is out of range, exit
if(index < 1 || index > size())
return false;
Node current = head;
for(int i = 1; i < index; i++)
{
if(current.getNext() == null)
return false;
current = current.getNext();
}
current.setNext(current.getNext().getNext());
listCount--;
return true;
}
从我所看到的,此代码结束在您要删除的元素之前的元素。然后,在要删除的节点之后,将“下一个”字段分配给该节点。我的问题是,你是否需要将要删除的节点的'next'字段分配为空?我有点困惑,因为它看起来像'下一个'字段仍然指向后面的元素,所以你有2个节点指向它。
任何帮助,将不胜感激。
但是这个元素不能从列表中访问,即通过列表方法它不会影响任何东西。 –