获得单链表中第i个结点的值算法 输入:无 前置条件:i不空,i合法 动作:找到第i个结点。 输出:返回第i个结点的元素值。 后置条件:无
时间: 2024-09-19 19:01:00 浏览: 17
3-2 试编写一个算法,在带表头结点的单链表中寻找第i个结点.doc
获取单链表中第i个节点的值通常涉及遍历链表。以下是Python的一个简单示例:
```python
class Node:
def __init__(self, value, next=None):
self.value = value
self.next = next
def get_node_value(head, i):
if i <= 0 or not head: # 验证i是否合法且链表非空
return None
current = head # 初始化当前节点为头节点
for _ in range(i - 1): # 先向前移动i-1步
current = current.next
if current is not None: # 如果到了有效位置,返回节点值
return current.value
else:
return None # 如果越界,返回None
# 使用示例
head = Node(1, Node(2, Node(3, Node(4))))
print(get_node_value(head, 3)) # 输出:3
```
这个函数通过循环访问每个节点,直到达到指定索引`i`,然后返回该节点的值。如果索引无效(即i小于1),则返回`None`。
阅读全文