# 堆栈的实现
class Stack:
# 栈的初始化
def __init__(self):
self.items = []
# 判断栈是否为空
def isEmpty(self):
return self.items == []
# 入栈操作
def push(self, item):
self.items.append(item)
# 出栈操作
def pop(self):
return self.items.pop()
# 查看栈底部元素
def peek(self):
return self.items[len(self.items) - 1]
# 判断栈的长度
def size(self):
return len(self.items)
栈满足 先进后出 原则
队列满足 先进先出 原则
# 队列的python实现,(头删尾插)
# 列表的第一个元素作为队列的尾部
# 列表的最后一个元素作为队列的头部
class Queue:
def __init__(self):
self.items = []
# 判空
def isEmpty(self):
return self.items == []
# 在尾部入队
def enqueue(self, item):
self.items.index(0, item)
# 在头部删除
def dequeue(self):
self.items.pop()
# 判断个数
def size(self):
return len(self.items)
双端队列 头尾均可插入何删除
# 双端队列(头尾都可插入删除)
class Dueue:
# 创建双端队列
def __init__(self):
self.items = []
# 在队首插入item
def addFront(self,item):
self.items.append(item)
# 在队尾插入item
def addRear(self,item):
self.items.index(0, item)
# 从队首移除
def removeFront(self):
return self.items.pop()
# 从队尾移除
def removeRear(self):
return self.items.pop(0)
# 判空
def isEmpty(self):
return self.items == []
# 判断个数
def size(self):
return len(self.items)