gpt4 book ai didi

java - 栈式linkedList中的push函数是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 02:20:30 24 4
gpt4 key购买 nike

这是我老师的示例代码:

public void push(T item){
node<T> newNode = new node<T>(item);
newNode.next = head;
head = newNode;

}

我的理解是这样的:我创建一个名为 newNode 的新节点。这会将新节点的数据值设置为 item,而 next 则指向空值(null)。

然后我说新节点指向它旁边的节点,称为头节点。然后我将列表的头部设为 newNode。

这是我不明白的:作为头的前一个节点会发生什么?它怎么知道去追寻 newNode 而不是直接消失并从列表中消失?

例如,如果 5 是头节点,6 是新节点,那么 6 将指向 5 作为其后面的节点。但是我们说头部是 5,那么它也是 6 吗?那么 5 会发生什么呢?

最佳答案

这将是一个有点奇怪的答案,但也许它会有助于了解如何设置指针:

所以原始列表如下所示:

linkedList -(head)-> node1 -(next)-> node2 -(next)-> etc.

然后创建一个新节点:node<T> newNode = new node<T>(item);

node3 -(next)-> null    
linkedList -(head)-> node1 -(next)-> node2 -(next)-> etc.

然后你让新节点指向你的旧头:newNode.next = head;

node3 -(next)-> node1 -(next)-> node2 -(next)-> etc.  
linkedList -(head)-> node1 -(next)-> node2 -(next)-> etc.

然后将头指针更改为新节点:head = newNode;

linkedList -(head)-> node3 -(next)-> node1 -(next)-> node2 -(next)-> etc.  

关于java - 栈式linkedList中的push函数是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46992667/

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