在 Python 语言中,尺度库中的queue模块提供了多种队列的实现,比如普通队列和优先级队列,因此你可以使用queue.Queue类来创建队列,不外我们依旧可以使用列表来模拟队列的实现。
- 获取队列的长度,即队列中元素的数量,通常使用列表的len()函数来获取
- 判断队列是否为空,可以通过if not queue来判定
- 入队操作,将新的元素添加到队列的尾部,使用列表的append()函数来实现
- 出队操作,获取并移除队列的头部元素,可以通过pop(0)函数传递索引来实现。
- 访问队列的头部元素,但不会将其移除,使用索引访问第一个元素queue[0]
- #导入queue模块
- import queue
- #创建一个对列
- q = queue.Queue()
- #通过put实现入队操作
- q.put(1)
- q.put(2)
- q.put(3)
- # 通过get()实现出队操作
- item = q.get() #出队并返回队列中的元素
- print(item) #输出1
复制代码 也可以用列表模拟队列(上道题用列表实现了栈):
- ueue = []
- #入队操作
- queue.append("Tom")
- queue.append("Jerry")
- queue.append("Mike")
- #出队操作
- remove_person = queue.pop(0) #弹出并返回队列中的第一个元素
- #判断队列是否为空:
- if not queueL
- print("队列为空")
- else:
- print(f"队头元素:{queue[0]}")
复制代码 由此可见,在列表中,假如直接pop(),那么将会弹出列表的最末尾一个值;而假如pop(0),那么将会弹出列表中的第一个元素
按照列表模拟队列的写法如下:
- n = int(input())
- persons = input().split()
- m = int(input())
- for _ in range(m):
- ope = input().split()
- opt = int(ope[0])
- if opt == 1:
- if persons:
- move_person = persons.pop(0)
- if opt == 2:
- persons.append(ope[1])
- if persons:
- print(persons.pop(0))
- else:
- print("There are no more people in the queue.")
复制代码 按照queue模块的写法如下:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |