请编程实现下述操作: 1. 请以“后插法”创建一个数据元素为整数的单链表。 2. 请编写一个print函数输出单链表中的所有整数。 3. 请编写一个Max函数获取单链表中包含的最大整数值。
时间: 2024-10-13 15:17:02 浏览: 43
数据结构第一次上机 单链表 前插 后插多个元素 查找 删除(考虑多个元素)
首先,我们先定义一个简单的单链表节点结构:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
```
然后,我们可以使用后插法创建一个单链表,即在已有的链表末尾添加新节点:
```python
def append_to_list(head, num):
if not head:
return ListNode(num)
current = head
while current.next:
current = current.next
current.next = ListNode(num)
return head
```
接下来是打印单链表中的所有整数的`print_list`函数:
```python
def print_list(head):
current = head
while current:
print(current.val, end=" -> ")
current = current.next
print("None")
```
最后是获取链表最大值的`max_value`函数,我们将遍历整个链表并记录当前找到的最大值:
```python
def max_value(head):
max_num = float('-inf')
current = head
while current:
if current.val > max_num:
max_num = current.val
current = current.next
return max_num if max_num != float('-inf') else None # 返回None表示链表为空
```
现在你可以按照以下步骤使用这些函数:
1. 创建链表头节点
2. 添加元素到链表
3. 打印链表
4. 获取链表的最大值
```python
# 示例
head = ListNode(1) # 初始化一个空链表
head = append_to_list(head, 2) # 后插法添加元素
head = append_to_list(head, 3)
head = append_to_list(head, 4)
# 输出链表
print_list(head)
# 获取最大值
max_val = max_value(head)
print(f"链表中的最大值是: {max_val}")
```
阅读全文