用python创建双链表
时间: 2024-05-06 17:18:34 浏览: 86
创建双链表的基本思路是,每个节点包含一个值和两个指针,分别指向前一个节点和后一个节点。以下是用Python实现双链表的简单示例代码:
```python
class Node:
def __init__(self, value):
self.value = value
self.prev = None
self.next = None
class DoublyLinkedList:
def __init__(self):
self.head = None
self.tail = None
def add_node(self, value):
new_node = Node(value)
if self.head is None:
self.head = new_node
self.tail = new_node
else:
new_node.prev = self.tail
self.tail.next = new_node
self.tail = new_node
def remove_node(self, value):
current_node = self.head
while current_node is not None:
if current_node.value == value:
if current_node.prev is None:
self.head = current_node.next
current_node.next.prev = None
elif current_node.next is None:
self.tail = current_node.prev
current_node.prev.next = None
else:
current_node.prev.next = current_node.next
current_node.next.prev = current_node.prev
current_node = current_node.next
def print_list(self):
current_node = self.head
while current_node is not None:
print(current_node.value)
current_node = current_node.next
```
上述代码中,双链表由一个Node类和一个DoublyLinkedList类组成。Node类表示一个节点,其中包含值、前一个节点和后一个节点的指针。DoublyLinkedList类表示一个双链表,其中包含头节点和尾节点。
DoublyLinkedList类中的add_node()方法用于向双链表中添加节点,remove_node()方法用于从双链表中删除节点,print_list()方法用于遍历双链表并打印节点的值。
这只是一个简单的示例,你可以根据需要进行修改和扩展。