Python是一种广泛使用的编程语言,拥有丰富的库支持。在本文中,我们将介绍Python中的线性链表。
class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self): self.head = None def append(self, data): new_node = Node(data) if self.head is None: self.head = new_node return last_node = self.head while last_node.next: last_node = last_node.next last_node.next = new_node def print_list(self): curr_node = self.head while curr_node: print(curr_node.data) curr_node = curr_node.next
以上代码定义了一个Node类和LinkedList类。Node类表示链表中的一个节点,包括一个数据和指向下一个节点的指针。LinkedList类则是一个包含Node节点的链表,其中有一个头节点head指向链表的起始位置。
在append()函数中,我们创建了一个新的Node来存储传入的数据,并将其添加到链表的末尾。如果链表为空,则将该节点设置为头节点。
print_list()函数,遍历整个链表并打印每个节点的数据。
有了上面的代码,我们可以创建一个新的链表并添加节点:
llist = LinkedList() llist.append("hello") llist.append("world") llist.print_list() # Output: hello world
在代码输出中,我们可以看到添加的节点以正确的顺序打印出来了。
线性链表是Python程序员需要了解的基本数据结构之一。它不仅被广泛使用,而且对于许多其他算法和数据结构的实现都是至关重要的。