顺序查找哨兵完整代码
时间: 2024-12-26 10:20:50 浏览: 5
顺序查找哨兵通常用于链表数据结构中,它会在普通节点之后添加一个特殊标记的哨兵节点,这样在搜索列表元素时,不需要特别处理边界情况,可以直接从头开始遍历直到找到最后一个节点。这里是一个简单的Python实现顺序查找哨兵的示例:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
# 创建一个有哨兵节点的单向链表
sentinel = Node(data=None) # 哨兵节点
head = Node(1)
node2 = Node(2)
node3 = Node(3)
sentinel.next = head # 哨兵节点的next指向第一个正常节点
head.next = node2
node2.next = node3
def search_sentinel(lst, target):
current = lst.next # 从哨兵节点后的第一个节点开始搜索
while current is not None:
if current.data == target:
return True
current = current.next
return False # 如果没找到,返回False
# 测试
print(search_sentinel(head, 2)) # 输出:True
print(search_sentinel(head, 4))
阅读全文