用python写个单链表且用头插法建一个表
时间: 2023-05-30 16:04:01 浏览: 68
以下是用Python编写单链表,通过头插法建立一个表的示例代码:
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def insert_at_beginning(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def print_list(self):
if not self.head:
print("List is empty")
return
current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next
my_list = LinkedList()
my_list.insert_at_beginning(3)
my_list.insert_at_beginning(6)
my_list.insert_at_beginning(9)
my_list.insert_at_beginning(12)
my_list.print_list() # Output: 12 -> 9 -> 6 -> 3 ->
```
在上述代码中,我们定义了两个类:`Node`和`LinkedList`。`Node`类表示链表中的节点,它包含数据和指向下一个节点的指针。`LinkedList`类表示整个链表,它包含一个头指针,指向链表的第一个节点。
我们使用`insert_at_beginning`方法来实现头插法。这个方法接受一个数据参数,创建一个新节点,将其指针指向当前头节点,然后将头指针指向新节点。这样,新节点就成为了新的头节点。
最后,我们使用`print_list`方法来遍历整个链表,并打印节点的数据。它从头指针开始,一直遍历到链表末尾。如果链表为空,它将打印“List is empty”消息。