请输入一个线性表,用头插法创建为单链表,并输出。操作完成后释放创建的单链表。 输入 输入包括两行: 第一行输入单链表长度 第二行输入线性表的元素 输出 输出头插法创建的单链表,每个节点的值之间空一格 如果创建失败,请输出 -1
时间: 2024-09-14 10:12:22 浏览: 44
线性表的实现全部代码
这个任务要求你接收用户的输入来创建一个单链表,并使用头插法(即在链表头部插入元素)进行操作。以下是基于这个需求的一个Python代码示例,假设输入是一个包含整数的字符串,例如 "5 1 2 3 4",表示链表有5个节点,元素分别是1, 2, 3, 4。
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
def create_linked_list(input_str):
elements = input_str.split(' ')
length = int(elements[0])
head = Node(int(elements[1])) if length else None
current = head
for i in range(2, length + 1):
new_node = Node(int(elements[i]))
new_node.next = current
current = new_node
return head
def print_linked_list(head):
current = head
while current is not None:
print(current.data, end=' ')
current = current.next
print()
def release_memory(head):
current = head
while current is not None:
next_node = current.next
del current
current = next_node
def main():
try:
user_input = input("请输入线性表的元素(例如 '5 1 2 3 4'):")
head = create_linked_list(user_input)
if head is not None:
print_linked_list(head)
release_memory(head)
else:
print(-1)
except Exception as e:
print(f"错误:{e}")
if __name__ == "__main__":
main()
```
在这个例子中,用户首先输入链表长度和元素,程序会创建一个单链表,然后用`print_linked_list`函数输出结果。如果链表创建失败(例如输入格式不正确),则输出 `-1` 并释放已创建的链表内存。
阅读全文