栈的实现
Static() | 创建一个新的空栈 |
push(item) | 添加一个新的元素item到栈顶 |
pop() | 弹出栈顶元素 |
peek() | 返回栈顶元素 |
is_empty() | 判断栈是否为空 |
size() | 返回栈的元素个数 |
用列表实现栈
class Static(object):
#定义初始化方法
def __init__(self):
#初始化一个空列表
self.__list = []
#压栈
def push(self,item):
self.__list.append(item)
#弹出元素
def pop(self):
return self.__list.pop()
#返回栈顶元素
def peek(self):
return self.__list[len(self.__list) - 1]
#判断栈是否为空
def is_empty(self):
return self.__list == []
#计算栈的大小
def size(self):
return len(self.__list)
if __name__ == '__main__':
static = Static()
print('是否是空栈', static.is_empty())
print('栈的长度:', static.size())
#压栈
static.push(1)
static.push(2)
static.push(3)
static.push(4)
print('是否是空栈', static.is_empty())
print('栈的长度:', static.size())
#弹出
print(static.pop())
print(static.pop())
print(static.pop())
print(static.pop())
队列的操作
Queue() | 创建一个空的队列 |
enqueue(item) | 往队列中添加一个item元素 |
dequeue() | 从队列头部删除一个元素 |
is_empty() | 判断一个队列是否为空 |
size() | 返回队列的大小 |
队列的实现
class Queue:
def __init__(self):
self.__list = []
#进队
def enqueue(self,item):
# self.__list.append(item) #尾部
self.__list.insert(0,item) #头部
#出队
def dequeue(self):
# return self.__list.pop(0) #头
return self.__list.pop() #尾
#判断队列是否为空
def is_empty(self):
return self.__list == []
#计算队列大小
def size(self):
return len(self.__list)
if __name__ == '__main__':
queue=Queue()
queue.enqueue(10)
queue.enqueue(20)
queue.enqueue(30)
#判断队列是否为空
print(queue.is_empty())
print('队列大小', queue.size())
print('--------出队--------')
print(queue.dequeue())
print(queue.dequeue())
print(queue.dequeue())