链表可以分为单向链表、双向链表和循环链表等类型。在单向链表中,每个节点只有一个指向下一个节点的指针。在双向链表中,每个节点有两个指针,一个指向上一个节点,另一个指向下一个节点。循环链表是一种特殊的单向链表,最后一个节点的指针指向第一个节点。
下面是一个简单的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 display(self):
current_node = self.head
while current_node:
print(current_node.data, end=' ')
current_node = current_node.next
在上面的代码中,我们首先定义了一个Node类,它包含两个属性:data和next。data属性用于存储节点的值,next属性用于指向下一个节点。然后我们定义了一个LinkedList类,它包含一个head属性,该属性指向链表的第一个节点。我们在LinkedList类中实现了两个方法:append和display。append方法用于在链表的末尾添加一个新节点,display方法用于打印链表中所有节点的值。