在Python中,链表可以通过定义节点类和链表类来实现。下面是一个简单的单向链表实现示例:
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def add_node(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
curr_node = self.head
while curr_node.next:
curr_node = curr_node.next
curr_node.next = new_node
def print_list(self):
curr_node = self.head
while curr_node:
print(curr_node.data)
curr_node = curr_node.next
创建链表
linked_list = LinkedList()
添加节点
linked_list.add_node(1)
linked_list.add_node(2)
linked_list.add_node(3)
打印链表
linked_list.print_list()
这个示例中,`Node` 类代表链表中的一个节点,包含数据和指向下一个节点的指针。`LinkedList` 类代表整个链表,包含一个指向链表头部的指针。`add_node` 方法用于向链表中添加新节点,`print_list` 方法用于打印链表中的所有元素。
双向链表是链表的扩展,其中每个节点包含两个指针,一个指向前一个节点,一个指向后一个节点。双向链表可以实现更复杂的操作,例如在链表中间插入或删除节点。