统计单链表的数据元素结点个数并输出最大最小值
时间: 2024-05-08 09:19:04 浏览: 8
可以通过遍历单链表来统计数据元素结点个数,并且同时也可以记录最大和最小值。具体方法如下:
1. 定义一个计数器变量 count,初始值为 0。
2. 定义两个变量 max 和 min,初始值分别为链表的第一个元素的数值。
3. 从链表的第一个节点开始,依次访问每个节点。
4. 对于每个节点,将计数器变量 count 的值加 1。
5. 如果该节点的数值大于当前的最大值 max,则将变量 max 的值更新为该节点的数值。
6. 如果该节点的数值小于当前的最小值 min,则将变量 min 的值更新为该节点的数值。
7. 遍历完整个链表后,输出计数器变量 count 的值,以及最大值和最小值。
代码示例:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 定义一个单链表
head = ListNode(1)
head.next = ListNode(2)
head.next.next = ListNode(3)
head.next.next.next = ListNode(4)
head.next.next.next.next = ListNode(5)
# 统计链表中元素的个数,以及最大值和最小值
count = 0
max_val = head.val
min_val = head.val
node = head
while node:
count += 1
if node.val > max_val:
max_val = node.val
if node.val < min_val:
min_val = node.val
node = node.next
# 输出结果
print("链表中元素的个数:", count)
print("最大值:", max_val)
print("最小值:", min_val)
```
输出:
```
链表中元素的个数: 5
最大值: 5
最小值: 1
```
当然,这只是一个简单的例子,实际上,统计单链表中元素的个数、最大值和最小值还有许多其他的方法和技巧,可以根据实际情况选择不同的算法和数据结构。