加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Python3 如何创建一个双端循环队列

发布时间:2021-05-21 04:55:47 所属栏目:大数据 来源: https://blog.csdn.net/yilovex
导读:队列是一个基本的数据结构,类似排队那样先进先出,加入队列的大小是有限制的,最后一个元素进队时需要将第一个元素进行出队操作,并且队列还得有序 1. 迭代 #!/usr/bin/env python3# -*- coding: UTF-8 -*- MAX = 5queue = [None,None,None] def Queue(data

队列是一个基本的数据结构,类似排队那样先进先出,加入队列的大小是有限制的,最后一个元素进队时需要将第一个元素进行出队操作,并且队列还得有序

1. 迭代

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
       
MAX = 5
queue = [None,None,None]
       
def Queue(data):
    for i in range(MAX):
        if i == MAX - 1:
            queue[i] = data
            break
       
        queue[i] = queue[i+1]
       
    print(queue)
       
KEY = 8
while(KEY):
    Queue(input())
    KEY -= 1

运行结果:

Geek-Mac:Downloads zhangyi$ python3 Nice.py 
1
[None,'1']
2
[None,'1','2']
3
[None,'2','3']
4
[None,'3','4']
5
['1','4','5']
6
['2','5','6']
7
['3','6','7']
8
['4','7','8']

2. 使用标准库中的 collections.deque 实现双端循环队列

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
	
from collections import deque

queue = deque([],5)
for i in range(8):
    queue.append(input())
    print(queue)

运行结果:

Geek-Mac:Downloads zhangyi$ python3 Nice.py 
1
deque(['1'],maxlen=5)
2
deque(['1','2'],maxlen=5)
3
deque(['1','3'],maxlen=5)
4
deque(['1','4'],maxlen=5)
5
deque(['1','5'],maxlen=5)
6
deque(['2','6'],maxlen=5)
7
deque(['3','7'],maxlen=5)
8
deque(['4','8'],maxlen=5)

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读