6. Python程序从双向链表的开头删除一个新节点。

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

在这个程序中,我们将创建一个双向链表,并从链表的开头删除一个节点。如果链表为空,则打印消息“链表为空”。如果链表不为空,我们将使头节点指向链表中的下一个节点;然后,我们将删除第一个节点。

Python program to delete a new node from the beginning of the doubly linked list

以上面的例子为例,new 是列表的头。让 head 指向列表中的下一个节点。现在,节点 1 将成为新的头节点,从而删除节点 new。

算法

  1. 定义一个 Node 类,它表示列表中的一个节点。它将有三个属性:数据、previous 指向前一个节点,以及 next 指向下一个节点。
  2. 2定义另一个类来创建双向链表,它有两个节点:头节点和尾节点。最初,头节点和尾节点将指向null。
  3. 3deleteFromStart() 将从链表的开头删除一个节点
  • 它首先检查 head 是否为 null(链表为空),然后,它将从函数返回,因为链表中没有节点。
  • 如果列表不为空,它将检查列表是否只有一个节点。
  • 如果列表只有一个节点,它将 head 和 tail 都设置为 null。
  • 如果列表包含多个节点,则头部将指向列表中的下一个节点,并删除旧的头部节点。

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

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

程序

输出

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