栈
方法 | 功能 |
---|
Stack() | 创建一个新的空栈 |
push(val) | 添加一个新的元素到栈顶 |
pop() | 弹出栈顶元素 |
top() | 返回栈顶元素 |
size() | 返回栈中元素个数 |
empty() | 返回栈是否为空 |
列表实现栈
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
队列
方法 | 功能 |
---|
Queue() | 创建一个新的空队列 |
push_back(val) | 添加一个新的元素到队尾 |
push_front(val) | 添加一个新的元素到队首 |
pop_back() | 删除队尾元素 |
pop_front() | 删除队首元素 |
size() | 返回队列中元素个数 |
empty() | 返回队列是否为空 |
front() | 返回队首元素 |
用列表实现队列
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