从单链表开头删除新节点的程序

2025年03月17日 | 阅读 9 分钟

说明

在此程序中,我们将创建一个单链表并从列表的开头删除一个节点。要完成此任务,我们需要将头指针指向初始节点的下一个节点,该节点将成为列表的新头节点。

Program to delete a new node from the beginning of the singly linked list

考虑上面的例子;Node 是列表的头。将 head 指向列表中的下一个节点。现在,节点 1 将成为列表的新头。因此,删除 Node。

算法

  1. 创建一个名为 Node 的类,它有两个属性:data 和 next。Next 是指向链表中下一个节点的指针。
  2. 创建另一个名为 DeleteStart 的类,该类具有 head 和 tail 两个属性。
  3. addNode() 将向列表添加一个新节点
    1. 创建一个新节点。
    2. 它首先检查 head 是否等于 null,这意味着列表为空。
    3. 如果列表为空,则 head 和 tail 都将指向新添加的节点。
    4. 如果列表不为空,新节点将添加到列表末尾,使得 tail 的 next 指向新添加的节点。此新节点将成为列表的新 tail。
  4. deleteFromStart() 将从列表开头删除一个节点
    1. 它首先检查 head 是否为 null(空列表),然后显示消息“列表为空”并返回。
    2. 如果列表不为空,它将检查列表是否只有一个节点。
    3. 如果列表只有一个节点,它将 head 和 tail 都设置为 null。
    4. 如果列表包含多个节点,则头部将指向列表中的下一个节点,并删除旧的头部节点。
  5. display() 将显示列表中存在的节点
    1. 定义一个节点 current,它最初将指向列表的 head。
    2. 遍历列表直到 current 指向 null。
    3. 通过使 current 在每次迭代中指向它的下一个节点来显示每个节点。

解决方案

Python

输出

 Original List: 
1 2 3 4 
Updated List: 
2 3 4 
Updated List: 
3 4 
Updated List: 
4 
Updated List: 
List is empty

C

输出

Original List: 
1 2 3 4 
Updated List: 
2 3 4 
Updated List: 
3 4 
Updated List: 
4 
Updated List: 
List is empty

JAVA

输出

Original List: 
1 2 3 4 
Updated List: 
2 3 4 
Updated List: 
3 4 
Updated List: 
4 
Updated List: 
List is empty

C#

输出

Original List: 
1 2 3 4 
Updated List: 
2 3 4 
Updated List: 
3 4 
Updated List: 
4 
Updated List: 
List is empty

PHP

输出

 Original List: 
1 2 3 4 
Updated List: 
2 3 4 
Updated List: 
3 4 
Updated List: 
4 
Updated List: 
List is empty
 
下一主题#