Skip to content

Commit b5648b8

Browse files
authored
Add tests for add_node function
1 parent 3a2c647 commit b5648b8

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

data_structures/linked_list/floyds_cycle_detection.py

+14
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,13 @@ def __iter__(self) -> Iterator:
4848
>>> tuple(linked_list)
4949
(1,)
5050
"""
51+
visited = []
5152
node = self.head
5253
while node:
54+
# Avoid infinite loop in there's a cycle
55+
if node in visited:
56+
return
57+
visited.append(node)
5358
yield node.data
5459
node = node.next_node
5560

@@ -59,6 +64,15 @@ def add_node(self, data: Any) -> None:
5964
6065
Args:
6166
data (Any): The data to be stored in the new node.
67+
68+
Examples:
69+
>>> linked_list = LinkedList()
70+
>>> linked_list.add_node(1)
71+
>>> linked_list.add_node(2)
72+
>>> linked_list.add_node(3)
73+
>>> linked_list.add_node(4)
74+
>>> tuple(linked_list)
75+
(1, 2, 3, 4)
6276
"""
6377
new_node = Node(data)
6478

0 commit comments

Comments
 (0)