9. Python 程序,用于在循环链表的末尾插入一个新节点

2025年1月4日 | 3分钟阅读

在这个程序中,我们将创建一个循环链表,并将每个新节点插入到列表的末尾。如果列表为空,则 head 和 tail 将指向新添加的节点。如果列表不为空,则新添加的节点将成为列表的新 tail。上一个 tail 将指向新节点作为其下一个节点。因为它是一个循环链表,新的 tail 将指向 head。换句话说,新节点将成为列表的最后一个节点(tail),而上一个 tail 将成为倒数第二个节点。

Python program to insert a new node at the end of the Circular Linked List

将新节点插入到列表末尾之后

Python program to insert a new node at the end of the Circular Linked List

New 代表新添加的节点。D 是前一个尾部。当 new 被添加到列表末尾时,它将成为新的尾部,D 将指向 new。

算法

  1. 定义一个 Node 类,它表示列表中的一个节点。它有两个属性 data 和 next,next 将指向下一个节点。
  2. 定义另一个类来创建循环链表,它有两个节点:head 和 tail。它有两个方法:addAtEnd() 和 display() 。
  3. addAtEnd() 将在列表末尾添加节点
  • 它首先检查 head 是否为 null(空列表),然后它将节点插入为 head。
  • head 和 tail 都将指向新添加的节点。
  • 如果列表不为空,则新添加的节点将成为新的 tail,上一个 tail 将指向新节点作为其下一个节点。新的 tail 将指向 head。

a. display() 将显示列表中存在的所有节点。

  • 定义一个新节点“current”,它将指向头节点。
  • 打印 current.data 直到 current 再次指向 head。
  • 在每次迭代中,current 将指向列表中的下一个节点。

程序

输出

Adding nodes to the end of the list: 
1
Adding nodes to the end of the list: 
1 2
Adding nodes to the end of the list: 
1 2 3
Adding nodes to the end of the list: 
1 2 3 4