Skip to content

Commit d7e37f9

Browse files
committed
skip list made iterable
1 parent bde4dbc commit d7e37f9

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

Sprint-2/implement_skip_list/skip_list.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ def __init__(self, value, level):
77

88
class SkipList:
99
MAX_LEVEL = 16
10-
P = 0.5
10+
P = 0.5 # probability for random level
1111

1212
def __init__(self):
1313
self.header = Node(None, self.MAX_LEVEL)
14-
self.level = 0
14+
self.level = 0 # current max level in list
1515

1616
def random_level(self):
1717
lvl = 0
@@ -59,3 +59,10 @@ def to_list(self):
5959
result.append(current.value)
6060
current = current.forward[0]
6161
return result
62+
63+
# Make SkipList iterable
64+
def __iter__(self):
65+
current = self.header.forward[0]
66+
while current:
67+
yield current.value
68+
current = current.forward[0]

0 commit comments

Comments
 (0)