首先,我需要一个解释而不是解决方案。正如您从代码中看到的,我正在尝试将 MovieNode 插入到 MovieList 中。该方法在 MovieList 类中。“列表”是我保存 MovieNode 的地方。
public void insert(Movie movie, int index)
{
MovieNode node = new MovieNode(movie);
MovieNode element;
MovieNode current = list;
while(current.previous != null)
current = current.previous;
element = current; // first node in the list
for(int n = 1; n < index; n++)
element = element.next; // determines where to put new node
node.next = element;
element.previous.next = node;
}
上面的方法似乎有效。但是,当我更改此行时
element.previous.next = node;
用这个;
element = node;
插入后链表没有变化。在我看来 element.previous.next 与 element 本身是一样的,因为当我们用节点替换 element 时,我们也会更改列表中元素之前的节点的后继节点。我们将后继者指向我们的新元素节点。我是这个主题的新手,所以我很抱歉我可能犯的错误。