第1关:编写程序输入n个整数链式存放并输出最大值
时间: 2024-11-03 18:21:27 浏览: 29
第1关的目标是让你编写一个简单的程序,用于接收用户输入的n个整数,并将它们存储在一个链表结构中。然后,你需要遍历这个链表找出其中的最大值并将其输出。
首先,你需要创建一个链表节点类,它包含一个整数值和指向下一个节点的指针。然后,你可以创建一个函数来添加新元素到链表中:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def add_number_to_list(n, num_list):
if not num_list or num_list.head is None:
num_list.head = ListNode(num)
else:
current = num_list.head
while current.next:
current = current.next
current.next = ListNode(num)
# 创建一个空链表实例
number_list = ListNode()
```
接着,让用户输入n个整数并依次添加到链表:
```python
def input_numbers_and_create_list():
n = int(input("请输入整数的数量:"))
for _ in range(n):
num = int(input(f"请输入第{i+1}个整数:"))
add_number_to_list(number_list, num)
input_numbers_and_create_list()
```
最后,你需要遍历链表找到最大值,可以使用迭代或递归的方式:
```python
def find_max_value(node):
if node is None or node.next is None:
return node.val
max_val = node.val
while node.next:
max_val = max(max_val, node.next.val)
node = node.next
return max_val
max_value = find_max_value(number_list.head)
print(f"链表中的最大值是:{max_value}")
```
阅读全文