写一算法在单链表上实现线性表的ListLength(L)运算。
时间: 2024-09-16 15:03:10 浏览: 52
线性表(一元多项式四则运算)
在单链表上实现计算列表长度(ListLength)的操作,通常需要遍历整个链表并计数节点。以下是使用迭代方法的一个基本算法:
```python
def list_length(head):
if head is None: # 如果链表为空,则长度为0
return 0
else:
current = head # 初始化当前节点为头节点
count = 1 # 初始化长度为1
while current.next is not None: # 当前节点不是链表的最后一个节点时
current = current.next # 移动到下一个节点
count += 1 # 长度加1
return count # 返回链表的长度
# 使用示例
# 定义一个单链表节点结构
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)
# 计算链表长度
length = list_length(head)
print(f"链表的长度为: {length}")
阅读全文