I'm trying to finish this last method for the circular array backed queue. I'm stuck on the resize method. Any help or pointers are appreciated.
def resize(self, newsize):
assert(len(self.data) < newsize)
new = Queue(newsize)
for x in range(len(self.data)):
new[x] == self.data[x]
self.data = new
The Error I receive is:
<ipython-input-31-d458e1ceda34> in <module>()
19
20 for i in range(9, 14):
---> 21 q.enqueue(i)
22
23 for i in range(4, 14):
<ipython-input-28-0e6c7038d634> in enqueue(self, val)
9
10 def enqueue(self, val):
---> 11 if self.head == (self.tail + 1) % len(self.data):
12 raise RuntimeError
13 elif self.head == -1 and self.tail == -1:
TypeError: object of type 'Queue' has no len()
My enqueue method looks like this and gives me no errors anywhere else:
def enqueue(self, val):
if self.head == (self.tail + 1) % len(self.data):
raise RuntimeError
elif self.head == -1 and self.tail == -1:
self.head = 0
self.tail = 0
self.data[self.tail] = val
else:
self.tail = (self.tail + 1) % len(self.data)
self.data[self.tail] = val