Java 从循环链表开头删除节点的程序

2025年3月17日 | 阅读 3 分钟

在此程序中,我们将创建一个循环链表并从列表的开头删除一个节点。如果列表为空,则打印消息“列表为空”。如果列表不为空,我们将使 head 指向列表中的下一个节点,即,我们将删除第一个节点。

Java program to delete a node from the beginning of the Circular Linked List

删除开头的节点后,循环链表。

Java program to delete a node from the beginning of the Circular Linked List

在此,A 代表列表的头部。我们需要从列表的开头删除一个节点。因此,我们将删除 A,使得 B 成为新的头部,尾部将指向新的头部。

算法

  • 定义一个 Node 类,它表示列表中的一个节点。它有两个属性 data 和 next,next 将指向下一个节点。
  • 定义另一个类来创建循环链表,它有两个节点:head 和 tail。它有两个方法:deleteStart() 和 display()。
  • deleteStart() 将从列表的开头删除节点
    • 它首先检查 head 是否为 null(链表为空),然后,它将从函数返回,因为链表中没有节点。
    • 如果链表不为空,它将检查链表是否只有一个节点。
    • 如果列表只有一个节点,它将 head 和 tail 都设置为 null。
    • 如果列表包含多个节点,则 head 将指向列表中的下一个节点,即,我们将删除之前的 head 节点,并且 tail 将指向新的 head。

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

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

程序

输出

Original List: 
 1 2 3 4
Updated List: 
 2 3 4
Updated List: 
 3 4
Updated List: 
 4
Updated List: 
List is empty
下一个主题Java 程序