首先基于线性链表的存储结构建一个单链表(下面的程序实现的是通过头插法逆序建表)
时间: 2024-11-06 15:25:07 浏览: 15
创建一个单链表通常是通过定义一个节点类,包含数据域和指向下一个节点的指针。在线性链表的基础上,为了实现逆序构建,我们通常会从最后一个节点开始,逐个向前插入新节点。以下是基于这个思路的一个简单的Python示例:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
# 逆序插入函数
def reverse_insert(head, data):
new_node = Node(data)
if head is None:
head = new_node
else:
current = head
while current.next:
current = current.next
current.next = new_node
return head
# 创建一个空链表
head = None
# 逆向插入元素,例如数据为[5, 4, 3, 2, 1]
for i in range(5, 0, -1):
head = reverse_insert(head, i)
# 打印逆序链表
current = head
while current:
print(current.data, end=" -> ")
current = current.next
```
在这个例子中,`reverse_insert` 函数接收链表的头节点 `head` 和一个新的数据值,然后将其添加到链表的末尾。最后,我们遍历整个逆序链表并打印出每个节点的数据。
阅读全文