问:创建和显示循环链表的程序。

17 Mar 2025 | 6 分钟阅读

说明

在此程序中,我们将创建一个循环链表并打印列表中存在的所有节点。

循环链表

循环链表是一种链表。首先,节点是列表中的一个元素,它有两个部分:数据和下一个。数据表示节点中存储的数据,下一个是指向下一个节点的指针。Head 指向列表的第一个元素,Tail 指向列表的最后一个元素。在简单的链表中,所有节点都指向它们的下一个元素,而 Tail 指向 null。

循环链表是节点的集合,其中尾节点也指向头节点。下图描绘了一个循环链表。节点 A 代表头,节点 D 代表尾。因此,在这个列表中,A 指向 B,B 指向 C,C 指向 D,但使其循环的是节点 D 指向节点 A。

Program to create and display a circular linked list

算法

  1. 定义一个 Node 类,它表示列表中的一个节点。它有两个属性 data 和 next,next 将指向下一个节点。
  2. 定义另一个类来创建循环链表,它有两个节点:head 和 tail。它有两个方法:add() 和 display()。
  3. add() 将节点添加到列表中
    1. 它首先检查头节点是否为 null,然后将节点作为头节点插入。
    2. head 和 tail 都将指向新添加的节点。
    3. 如果 head 不为 null,新节点将成为新的尾节点,并且新尾节点将指向 head,因为它是一个循环链表。
  4. display() 将显示列表中存在的所有节点。
    1. 定义一个新节点“current”,它将指向头节点。
    2. 打印 current.data 直到 current 指向 head
    3. 在每次迭代中,current 将指向列表中的下一个节点。

解决方案

Python

输出

Nodes of the circular linked list: 
1 2 3 4

C

输出

Nodes of the circular linked list: 
1 2 3 4

JAVA

输出

Nodes of the circular linked list: 
1 2 3 4

C#

输出

Nodes of the circular linked list: 
1 2 3 4

PHP

输出

Nodes of the circular linked list: 
1 2 3 4
 
下一主题#