python进阶笔记(2)——队列
概念常用方法
概念
队列(queue)是一种具有先进先出特征的线性数据结构,元素的添加只能在一端进行,元素的删除只能在另一端进行。类似于超市排队买单,先来的先结账,然后离开队伍。比较官方的说法是新来的只能排在队伍最后进行入队,出队就从队伍第一个开始。
但在实际操作中(见以下代码),入队(enqueue()方法)是从索引值为0的地方即队列头部进行元素的添加,而出队则是使用pop()方法,即从队列尾部进行元素弹出(删除)。
常用方法
is_empty() 判断队列是否为空enqueue(item) 元素item入队dequeue() 元素出队size() 队列大小
class Queue():
"""队列"""
def __init__(self
):
"""初始化队列"""
self
.items
= []
def is_empty(self
):
"""判断队列是否为空"""
return self
.items
== []
def enqueue(self
,item
):
"""进队列"""
self
.items
.insert
(0,item
)
def dequeue(self
):
"""出队列"""
return self
.items
.pop
()
def size(self
):
"""队列元素个数"""
return len(self
.items
)
if __name__
== '__main__':
q
= Queue
()
q
.enqueue
(1)
q
.enqueue
('a')
q
.enqueue
('asf')
q
.enqueue
('你好')
q
.enqueue
('%&(')
print(q
.size
())
print(q
.dequeue
())
print(q
.dequeue
())
print(q
.dequeue
())
print(q
.dequeue
())
print(q
.dequeue
())