python 双向链表_Python实现双向链表 - 数据结构

我们已经在前面的章节中实现了链表,但只是单向的:

Python实现链表 - 数据结构

在本文中,我们将看到另一种类型的链表,可以向前和向后移动。 这样的链接列表称为双重链接列表(双向链表)。 以下是双向链表的功能:

双链表包含一个名为first和last的链接元素。每个链接包含一个数据字段和两个链接字段,分别称为next和prev。每个链接都使用其下一个链接与其下一个链接链接。每个链接都使用其先前的连接与其先前的链接链接。最后一个链接带有一个空链接,以标记列表的结尾。创建双向链表

我们使用Node类创建一个双向链接列表。 现在,我们使用与“单链接列表”中相同的方法,但是除了节点中存在的数据之外,还将使用头和后指针进行正确分配,以在每个节点中创建两个链接。

10dfa9ec8a13632759b9cee372bb74e909fac740.jpeg?token=6341cc292196f51caf9e907944dcd507&s=B414603253AEC4EE00DC90D6000010B0

执行上面代码将打印 62 8 12 。

插入双向链表

将新节点插入到双向链表的开头的第三个位置。

修改代码,为doubly_linked_list类添加insert方法:

2fdda3cc7cd98d10064e8224c50b6c0b7aec90c3.jpeg?token=64dfcaeb069bf72b81ceb09b17d95acd&s=E39CE1235BFEC9EB1E7591D9000080B1

023b5bb5c9ea15ce1575abe65534eef63b87b204.jpeg?token=d11e4aea461d07a1d1f70ec49b108b88&s=8A8E7A2383905DC216D580DB000080B0

重新运行程序等到:62 8 13 12。

附加到双向链表

将元素追加到双向链表的最后。

修改代码,加入append()方法。

55e736d12f2eb9385be9450830565130e4dd6f7a.jpeg?token=9d2e5eddd629169e8f71b029308542ac&s=A39C712313AEE5EF4CE19DDF0000C0B1

d000baa1cd11728b123703432bc817cbc3fd2c77.jpeg?token=b1dcfc98fbada175c4c43ccddf51a85a&s=2E8E7A231DD05CCA1EF5A9DA000090B2

重新执行程序,将打印:62 8 12 9 45。

请注意附加操作的元素9和45的位置。

更多数据结构实现方法,欢迎关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值