Python队列



"""
Python队列:FIFO:先入先出 管道机制
类别:队列,双端队列:可以任意位置进,任意位置出

Python表示方法:1. List.append(), pop(0):队列 一般不用,因为要移动整个数组,速度慢
            2. deque:双端队列 insert, delete速度快 推荐使用
            from collections import deque
            q = deque([1, 2, 3]
常用操作:append():尾部添加, pop():尾部删除, appendleft():头部添加 popleft():头部删除
搭配使用:append(), popleft()和appendleft(), pop() 实现FIFO
常用操作:append(),pop(),appendleft(),popleft(),max(),min(),len()
应用场景:BFS:广度优先搜索
"""
import queue
from collections import deque


# 1. 创建队列(双端队列)
queue = deque()

# 2. 添加元素
# 0(1)
queue.append(1)
queue.append(2)
queue.append(3)
print(queue)

# 3. 获取即将出队的元素
# 0(1)
temp1 = queue[0]
print(temp1)

# 4. 删除即将出队的元素
# 0(1)
temp2 = queue.popleft()
print(temp2)
print(queue)

# 5. 判断队列是否为空
# 0(1)
print(len(queue) == 0)

# 6. 遍历队列 # 边删除边打印/使用
# 0(n)
while len(queue) != 0:
    temp = queue.popleft()
    print(temp)

# 7. 其他
q = deque([1, 2, 3])
q.append(4)
print(q)
q.pop()
print(q)
q.appendleft(0)
print(q)
q.popleft()
print(q)

# 8. max()
print(max(q))
# 9. min()
print(min(q))

结果

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe D:/code/datastruct/caozuo/demo03_queue.py
deque([1, 2, 3])
1
1
deque([2, 3])
False
2
3
deque([1, 2, 3, 4])
deque([1, 2, 3])
deque([0, 1, 2, 3])
deque([1, 2, 3])
3
1

Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值