class LinkedQueue: def __init__(self): self.data = Doubly_Linked_List() def __len__(self): return len(self.data) def is_empty(self): return self.data.is_empty() def first(self): if self.is_empty(): raise Empty("Queue is Empty") return self.data.first() def dequeue(self): # O(1) if self.is_empty(): raise Empty("Queue is Empty") return self.data.delete_first() def enqueue(self, e): # O(1) self.data.insert_last(e) def __str__(self): return str(self.data)
class LinkedQueue(): def __init__(self, N=10): self._data = Doubly_Linked_List() self._size = 0 def __len__(self): return self._size def is_empty(self): return self._size == 0 def first(self): #O(1) if self.is_empty(): raise Empty("Queue is Empty") return self._header._next._element def dequeue(self): #O(1) if self.is_empty(): raise Empty("Queue is Empty") self._size -= 1 return self._data.delete_first() ##??? def enqueue(self, e): #O(1) self._size += 1 self._data.insert_last(e) ##??? def __str__(self): ''' You can simply print self._data ''' return str(self._data) #print directly or as string