采用头插法在头指针L处建立一个带头结点的单链表,输入-1表示结束,头插结束后返回建立的单链表代码
时间: 2024-11-09 13:18:22 浏览: 25
在头插法中,我们通常会创建一个新的节点,将它插入到链表的头部,并更新头指针。如果链表为空,新节点就是头;如果有元素,则新节点的下一个节点是当前头。当遇到输入-1时,我们可以认为这是链表结束的标志,此时不需要做任何操作,因为头插法不会处理这种特殊情况。
以下是一个简单的Python示例,假设`ListNode`是一个链表节点的结构体(包含数据和指向下一个节点的引用),`head`是链表的头指针:
```python
def insert(head, value):
# 创建新的节点
new_node = ListNode(value)
# 如果链表为空,新节点就是头
if head is None:
head = new_node
else:
# 将新节点插入到头的位置
new_node.next = head
head = new_node
# 当遇到 -1 结束标志时,不做处理
while value != -1:
value = int(input("请输入下一个值(-1表示结束): "))
if value != -1:
new_node = ListNode(value)
new_node.next = head
head = new_node
return head
# 示例:
# 初始化链表为空
head = None
# 使用头插法输入值,直到遇到 -1
new_head = insert(head, 5) # 插入 5
new_head = insert(new_head, 3) # 插入 3
new_head = insert(new_head, 0) # 插入 0
new_head = insert(new_head, -1) # 结束标志,返回新链表的头
#
阅读全文