In [34]:
class Deque():
def __init__(self):
self.data = []
self.Right = 0
self.Left = 0
def InsertLeft(self, data):
self.data.insert(self.Left, data)
self.Right += 1
def InsertRight(self, data):
self.data.insert(self.Right, data)
self.Right += 1
def DeleteLeft(self):
del self.data[self.Left]
self.Right -= 1
def DeleteRight(self):
self.Right -= 1
del self.data[self.Right]
def __str__(self):
return self.data.__str__()
class DNode():
def __init__(self, value, next, previous):
self.Next = next
self.Previous = previous
self.value = value
In [36]:
d = Deque()
In [37]:
d.InsertLeft(1)
print d, d.Left, d.Right
In [38]:
d.InsertRight(5)
print d, d.Left, d.Right
In [39]:
d.InsertRight(3)
print d, d.Left, d.Right
In [40]:
d.InsertLeft(7)
print d, d.Left, d.Right
In [41]:
d.DeleteLeft()
print d, d.Left, d.Right
In [42]:
d.DeleteRight()
print d, d.Left, d.Right
In [ ]: