29 lines
613 B
Python
29 lines
613 B
Python
class List:
|
|
def __init__(self, data, next=None, prev=None):
|
|
self.data = data
|
|
self.next = next
|
|
self.prev = prev
|
|
|
|
def append(self, data):
|
|
if self.next == None:
|
|
self.next = List(data, None, self)
|
|
return self.next
|
|
else:
|
|
return self.next.append(data)
|
|
|
|
# Build the list
|
|
tail = head = List(10)
|
|
for i in [ 20, 30, 40 ]:
|
|
tail = tail.append(i)
|
|
|
|
# Traverse forwards
|
|
node = head
|
|
while node != None:
|
|
print(node.data)
|
|
node = node.next
|
|
|
|
# Traverse Backwards
|
|
node = tail
|
|
while node != None:
|
|
print(node.data)
|
|
node = node.prev
|