添加操作 - 单链表

如果我们想在给定的结点prev之后,添加新值,我们应该:

1.使用给定值初始化新结点cur;

 

2.将cur的“next”字段链接到prev的下一个结点next;

3.将pre中的“next”字段链接到cur。

与数组不同,我们不需要将所有元素移动到插入元素之后。因此,您可以在 O(1) 时间复杂度中将新结点插入到链表中,这非常高效。

示例

让我们在第二个结点 6 之后插入一个新的值 9。

 

我们将首先初始化一个值为 9 的新结点。然后将结点 9 链接到结点 15。最后,将结点 6 链接到结点 9。

 

插入之后,我们的链表将如下所示:

 

在开头添加结点

众所周知,我们使用头结点来代表整个列表。

 

因此,在列表开头添加新节点时更新头结点 head 至关重要。

 

  1. 初始化一个新结点 cur;
  2. 将新结点链接到我们的原始头结点 head
  3. 将 cur 指定为 head

 

例如,让我们在列表的开头添加一个新结点 9。

 

  1. 我们初始化一个新结点 9 并将其链接到当前头结点 23。
  2. 指定结点 9 为新的头结点。 

 

如何在列表的末尾添加新的结点?我们还能使用类似的策略吗?

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值