栈
列表实现栈
class Stack: def __init__(self): self.__list = [] def push(self, val) -> bool: self.__list.append(val) def pop(self) -> int: if self.empty(): return -1 return self.__list.pop() def top(self) -> int: if self.empty(): return -1 return self.__list[-1] def size(self) -> int: return len(self.__list) def empty(self) -> bool: return self.size() == 0
队列
用列表实现队列
class Queue: def __init__(self): self.__list = [] # 尾入队 def push_back(self, val): self.__list.append(val) # 头入队 def push_front(self, val): self.__list.insert(0, val) # 尾出队 def pop_back(self) -> int: if self.empty(): return -1 return self.__list.pop() # 头出队 def pop_front(self) -> int: if self.empty(): return -1 return self.__list.pop(0) def front(self) -> int: if self.empty(): return -1 return self.__list[0] def size(self) -> int: return len(self.__list) def empty(self) -> bool: return self.size() == 0