欢迎进入浙江省舟山学网!
当前位置: 首页 > 文章中心 > 部门网页 > 技术组 > 技术学苑 > 必修三《数据与数据结构》 > 第三章 字符串、队列与栈 > 正文

完整的顺序队列操作实例

文章来源: 作者: 发布时间:2022年01月19日 点击数: [添加收藏]

from queue import Queue #LILO队列
q = Queue() #创建队列对象
q.put(0)    #在队列尾部插入元素
q.put(1)
q.put(2)
print('LILO队列',q.queue)  #查看队列中的所有元素
print(q.get())  #返回并删除队列头部元素
print(q.queue)

from queue import LifoQueue #LIFO队列
lifoQueue = LifoQueue()
lifoQueue.put(1)
lifoQueue.put(2)
lifoQueue.put(3)
lifoQueue.put(4)
lifoQueue.put(5)
print('LIFO队列',lifoQueue.queue)
lifoQueue.get() #返回并删除队列尾部元素
lifoQueue.get()
print(lifoQueue.queue)

from queue import PriorityQueue #优先队列
priorityQueue = PriorityQueue() #创建优先队列对象
priorityQueue.put(300)    #插入元素
priorityQueue.put(78)   #插入元素
priorityQueue.put(100)  #插入元素
print(priorityQueue.queue)  #查看优先级队列中的所有元素
priorityQueue.put(10)    #插入元素
priorityQueue.put(200)    #插入元素
print('优先级队列:',priorityQueue.queue)  #查看优先级队列中的所有元素
priorityQueue.get() #返回并删除优先级最低的元素
print('删除后剩余元素',priorityQueue.queue)
priorityQueue.get() #返回并删除优先级最低的元素
print('删除后剩余元素',priorityQueue.queue)  #删除后剩余元素
priorityQueue.get() #返回并删除优先级最低的元素
print('删除后剩余元素',priorityQueue.queue)  #删除后剩余元素
priorityQueue.get() #返回并删除优先级最低的元素
print('删除后剩余元素',priorityQueue.queue)  #删除后剩余元素
priorityQueue.get() #返回并删除优先级最低的元素
print('全部被删除后:',priorityQueue.queue)  #查看优先级队列中的所有元素

from collections import deque   #双端队列
dequeQueue = deque(['Eric','John','Smith'])
print(dequeQueue)
dequeQueue.append('Tom')    #在右侧插入新元素
dequeQueue.appendleft('Terry')  #在左侧插入新元素
print(dequeQueue)
dequeQueue.rotate(2)    #循环右移2次
print('循环右移2次后的队列',dequeQueue)
dequeQueue.popleft()    #返回并删除队列最左端元素
print('删除最左端元素后的队列:',dequeQueue)
dequeQueue.pop()    #返回并删除队列最右端元素
print('删除最右端元素后的队列:',dequeQueue)



输出结果:

LILO队列 deque([0, 1, 2])
0
deque([1, 2])
LIFO队列 [1, 2, 3, 4, 5]
[1, 2, 3]
[78, 300, 100]
优先级队列: [10, 78, 100, 300, 200]
删除后剩余元素 [78, 200, 100, 300]
删除后剩余元素 [100, 200, 300]
删除后剩余元素 [200, 300]
删除后剩余元素 [300]
全部被删除后: []
deque(['Eric', 'John', 'Smith'])
deque(['Terry', 'Eric', 'John', 'Smith', 'Tom'])
循环右移2次后的队列 deque(['Smith', 'Tom', 'Terry', 'Eric', 'John'])
删除最左端元素后的队列: deque(['Tom', 'Terry', 'Eric', 'John'])
删除最右端元素后的队列: deque(['Tom', 'Terry', 'Eric'])

欢迎关注浙江省舟山中学微信公众号
公众号: 舟山中学 微信号: zjzszx1921


分享到:
[打印文章]