首页 > 解决方案 > 如何在 Java 中将元素插入到循环单链表中?

问题描述

我正在查看以下用于在循环链表开头插入节点的代码,但我仍然对这样做的逻辑感到非常困惑。我了解如果列表为空的部分,您可以将新节点等同于列表的头部,但我真的不明白所有节点是如何“移动”的(我知道这不是链表的工作方式,但是可以这么说),以便为新节点留出空间以及为什么需要新的动态节点。信用:https ://www.geeksforgeeks.org/circular-singly-linked-list-insertion/

static Node addBegin(Node last, int data)
{
    if (last == null)
        return addToEmpty(last, data);
   
      // Creating a node dynamically
    Node temp = new Node();
      
      // Assigning the data
    temp.data = data;
   
      // Adjusting the links
    temp.next = last.next;
    last.next = temp;
  
    return last;
}

标签: javalistnodes

解决方案


节点不是“四处移动”,想象它像一条链(用于锁定大门的那个),你去拆卸链的一个节点,插入一个新节点并将新节点(temp)与旧节点链接) 连接到拆开的节点(temp.next=last.next),然后将链的旧节点(代码中的“last”)与新插入的节点(temp)链接起来(last.next=temp)


推荐阅读