コード例 #1
0
 def pop(self):
     if self.is_empty():
         raise Empty('Stack is empty')
     answer = self._head._element
     self._head = self._head._next
     self._size -= 1
     return answer
コード例 #2
0
 def dequeue(self):
     if self.is_empty():
         raise Empty('Queue is empty')
     answer = self._head._element
     self._head = self._head._next
     self._size -= 1
     if self.is_empty():
         self._tail = None
     return answer
コード例 #3
0
 def dequeue(self):
     if self.is_empty():
         raise Empty('Queue is empty')
     oldhead = self._tail._next
     if self._size == 1:
         self._tail = None
     else:
         self._tail._next = oldhead._next
     self._size -= 1
     return oldhead._element
コード例 #4
0
 def first(self):
     if self.is_empty():
         raise Empty('Queue is empty')
     head = self._tail._next
     return head._element
コード例 #5
0
 def pop(self):
     if self.is_empty():
         raise Empty('Stack is empty')
     return self._data.pop()
コード例 #6
0
 def first(self):
     if self.is_empty():
         raise Empty('Queue is empty')
     return self._head._element
コード例 #7
0
 def first(self):
     if self.is_empty():
         raise Empty('Deque is empty')
     return self._header._next._element
コード例 #8
0
 def delete_last(self):
     if self.is_empty():
         raise Empty('Deque is empty')
     return self._delete_node(self._trailer._prev)
コード例 #9
0
 def delete_first(self):
     if self.is_empty():
         raise Empty('Deque is empty')
     return self._delete_node(self._header._next)
コード例 #10
0
 def last(self):
     if self.is_empty():
         raise Empty('Deque is empty')
     return self._trailer._prev._element
コード例 #11
0
 def top(self):
     if self.is_empty():
         raise Empty('Stack is empty')
     return self._head._element