在Python中,初始化单链表通常涉及创建一个链表节点类和一个链表类。链表节点类包含数据和指向下一个节点的指针,而链表类包含指向链表头部的指针,并提供一系列操作链表的方法。
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def init_linklist(self, data):
if not data:
return None
self.head = Node(data)
current = self.head
for value in data[1:]:
current.next = Node(value)
current = current.next
return self.head
def print_linklist(self, head=None):
if head is None:
head = self.head
current = head
while current:
print(current.data, end=" -> ")
current = current.next
print("None")
测试代码
if __name__ == "__main__":
linklist = LinkedList()
data = [1, 4, 2, 7, 8, 5, 4]
linklist.init_linklist(data)
linklist.print_linklist() 输出: 1 -> 4 -> 2 -> 7 -> 8 -> 5 -> 4 -> None
在这个例子中,`Node` 类用于创建链表中的每个节点,`LinkedList` 类用于管理整个链表。`init_linklist` 方法接受一个列表作为输入,并用它来初始化链表。`print_linklist` 方法用于打印链表中的所有元素。