本题目要求实现下面三个函数,实现如下功能: 输入若干个正整数,以-1结束,采取向链表中添加节点的方式来建立一个单向链表。 遍历并输出这个单向链表。
时间: 2024-05-14 22:16:42 浏览: 84
K 个一组翻转链表1
好的,我明白了。下面是对应的三个函数:
第一个函数用于创建链表,它会被调用一次,返回链表的头节点指针。函数的输入参数为一个整型数组 arr,其中 arr[0] 表示数组的长度,arr[1] 到 arr[arr[0]] 表示需要添加到链表中的正整数。
```python
def create_linked_list(arr):
head = ListNode(arr[1])
current = head
for i in range(2, arr[0]+1):
new_node = ListNode(arr[i])
current.next = new_node
current = current.next
return head
```
第二个函数实现了遍历链表并输出每个节点的值。
```python
def traverse_linked_list(head):
current = head
while current:
print(current.val, end=' ')
current = current.next
print()
```
第三个函数是主函数,它会读取用户输入的若干个正整数,创建链表并输出结果。
```python
def main():
arr = []
while True:
num = int(input())
if num == -1:
break
arr.append(num)
head = create_linked_list(arr)
traverse_linked_list(head)
```
请确认我回答的问题是否正确,并告诉我是否需要进一步帮助。
阅读全文