我们已经在前面的章节中实现了链表,但只是单向的:
Python实现链表 - 数据结构
在本文中,我们将看到另一种类型的链表,可以向前和向后移动。 这样的链接列表称为双重链接列表(双向链表)。 以下是双向链表的功能:
双链表包含一个名为first和last的链接元素。每个链接包含一个数据字段和两个链接字段,分别称为next和prev。每个链接都使用其下一个链接与其下一个链接链接。每个链接都使用其先前的连接与其先前的链接链接。最后一个链接带有一个空链接,以标记列表的结尾。创建双向链表
我们使用Node类创建一个双向链接列表。 现在,我们使用与“单链接列表”中相同的方法,但是除了节点中存在的数据之外,还将使用头和后指针进行正确分配,以在每个节点中创建两个链接。
执行上面代码将打印 62 8 12 。
插入双向链表
将新节点插入到双向链表的开头的第三个位置。
修改代码,为doubly_linked_list类添加insert方法:
重新运行程序等到:62 8 13 12。
附加到双向链表
将元素追加到双向链表的最后。
修改代码,加入append()方法。
重新执行程序,将打印:62 8 12 9 45。
请注意附加操作的元素9和45的位置。
更多数据结构实现方法,欢迎关注!