队列结构:queue
生活例子:排队买票
队列的特点:先进先出(FirstInFirstOut,简称FIFO)
队列的基本用法:push(入队:添加元素) pop(出队:删除元素)
队列:Push、Pop、队列的大小、是否为空队列、清空队列 先进先出 双端队列:两端都能进,都能出
生活例子:排队买票
队列的特点:先进先出(FirstInFirstOut,简称FIFO)
队列的基本用法:push(入队:添加元素) pop(出队:删除元素)
队列:Push、Pop、队列的大小、是否为空队列、清空队列 先进先出 双端队列:两端都能进,都能出
class Queue(object):
# 先进先出
# 在Python中用列表模拟队列
def __init__(self):
self.__queue = []
def lpush(self, value):
# 队头入队
self.__queue.insert(0,value)
def rpush(self, value):
# 队尾入队
self.__queue.append(value)
def lpop(self):
# 队头出队
if self.__queue:
return self.__queue.pop(0)
return None
def rpop(self):
# 队尾出队
if self.__queue:
return self.__queue.pop()
return None
def size(self):
# 队列长度
return len(self.__queue)
def is_empty(self):
# 判断是否为空
if self.__queue:
return False
return True
def empty(self):
# 清空队列
self.__queue = []
queue = Queue()
queue.lpush("A")
queue.lpush("B")
queue.rpush("C")
queue.rpush("D")
queue.lpop()
queue.rpop()
print my_stack.size()
print my_stack.is_empty()
queue.empty()