在Python中,链表可以通过定义节点类和链表类来实现。下面是一个简单的单向链表实现示例:
class Node:def __init__(self, data):self.data = dataself.next = Noneclass LinkedList:def __init__(self):self.head = Nonedef add_node(self, data):new_node = Node(data)if self.head is None:self.head = new_nodeelse:curr_node = self.headwhile curr_node.next:curr_node = curr_node.nextcurr_node.next = new_nodedef print_list(self):curr_node = self.headwhile 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` 方法用于打印链表中的所有元素。
双向链表是链表的扩展,其中每个节点包含两个指针,一个指向前一个节点,一个指向后一个节点。双向链表可以实现更复杂的操作,例如在链表中间插入或删除节点。

