实现一个带头节点的单链表
时间: 2023-10-19 21:15:15 浏览: 45
以下是Python实现一个带头节点的单链表的例子:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class LinkedList:
def __init__(self):
self.head = ListNode()
def add_node(self, val):
new_node = ListNode(val)
cur = self.head
while cur.next:
cur = cur.next
cur.next = new_node
def print_list(self):
cur = self.head.next
while cur:
print(cur.val, end=' ')
cur = cur.next
```
这里定义了一个`ListNode`类来表示链表的节点,包括节点的值和指向下一个节点的指针。`LinkedList`类则表示带头节点的单链表,它包括一个`head`节点,初始值为`None`,表示链表的头部。在`add_node`方法中,我们先创建一个新的节点,然后遍历整个链表,找到最后一个节点,将其指针指向新节点。在`print_list`方法中,我们遍历整个链表,将每个节点的值打印出来。
以下是如何使用这个类:
```python
ll = LinkedList()
ll.add_node(1)
ll.add_node(2)
ll.add_node(3)
ll.print_list() # 输出:1 2 3
```
注意,这个实现中的头节点并不存储任何值,它只是作为链表的一个起始点,方便链表的操作。