关于队列
基本的队列是一种先进先出的数据结构。
一般的队列基本操作如下:
- create:创建空队列
- add:将新数据加入队列的末尾。返回新队列。
- delete:删除队列头部的数据,返回新队列。
- fromt:返回队列头部的值
- empty:若队列为空,则返回一个空队列。
使用列表简单实现一个队列
class lqueue(self):
def __init__(self):
self.list = []
# 入队
def inq(self.item):
self.list.append(item)
# 出队
def outq(self):
self.list.pop(0)
# 判断是否为空
def is_empty(self):
return self.list == []
# 队列长度
def qlength(self):
return len(self.list)
标准队列
python的queue
模块提供了一个先进先出的队列类型Queue。Queue主要有以下几种方法:
-
put()
:在队列尾部添加元素 -
get()
:从队列头部取出元素,返回队列头部元素 -
empty()
:判断队列是否为空 -
full()
:判断队列是否达到最大长度限制 -
qsize()
:队列当前长度
from queue import Queue
# maxsize=0表示不限制队列长度
q = Queue(maxsize=0)
q.put(1)
q.put(2)
print(q.queue) # deque([1, 2])
q.get() # 1
print(q.queue) # deque([2])
print(q.qsize()) # 1
print(q.empty()) # false
print(q.full()) # false