gpt4 book ai didi

java - 插入后如何在链表中的节点之间建立连接

转载 作者:行者123 更新时间:2023-12-01 14:37:05 25 4
gpt4 key购买 nike

首先,我需要一个解释而不是解决方案。正如您从代码中看到的,我正在尝试将 MovieNode 插入 MovieList 中。该方法位于MovieList类中。 “list”是我保存 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 本身是一样的,因为当我们用 node 替换 element 时,我们还会更改列表中元素之前的节点的后继。我们将后继者指向我们的新元素,即节点。我对这个主题很陌生,所以我对我可能犯的错误感到抱歉。

最佳答案

有一个区别:

element.previous.next = node;

将使前一个元素的下一个字段指向节点,即它将更改前一个元素。

element = node;

只会将局部变量元素分配给(新)节点 - 因此它接近无操作。

关于java - 插入后如何在链表中的节点之间建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16388476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com