在python中,列表既可以作为栈使用,又可以作为队列使用。
栈:后进先出
stack=[1,2,3]stack.append(4) #入栈,以列表尾部为栈顶print(stack.pop()) #出栈 4print(stack) #[1, 2, 3]
队列:先进先出
from collections import dequelist=[1,2,3]queue=deque(节约用水的英语list) #将列表转换为队列queue.append(0) #入队,添加到队列尾部print(queue.popleft()) #出队,弹出并返回队首元素print(queue) #deque([2, 3, 0])#把列表作为队列使用,效率不高,因为出队时要移动后面所有的元素。
deque 是双边队列,同时具有栈和队列的性质,可进行栈、队列相关的操作。并且还在在 list 的基础上增加了移动、旋转和增删等操作。
from collections import deque #需要导入模块list=[1,2,3]dequ数控技术专业e=deque(list) #将列表转换为dequedeque.append(4) #添加到尾部print(deque) #deque([1, 2, 3, 0])deque.appendleft(0) #添加到首部print(deque) #deque([0, 1, 2, 3, 4])print(deque.pop()) #弹出并返回最后一2020高考数学个元素 4print(deque) #deque([0, 1, 2, 3])print(deque.popleft()) #弹出并返回左边第一个元素 0print(deque) #deque([1, 2, 3])
from collections import deque #需要导入模块list=[1,2,3]deque=deque(list) #将列表转换为deque#作为栈使用:方式一deque.append(4) #入栈print(deque) #deque([1, 2, 3, 4])print(deque.pop()) #出栈 4print(deque) #deque([1, 2, 3])#作为栈使用:方式二deque.appendleft女生宿舍照片(0) #入栈print(deque) #deque([0,1, 2, 3])print(deque.pop()) #出栈 3print(deque) #deque([0, 1, 2])#只要实现后进先出即可
from collections import deque #需要导入模块list=[1,2,3]deque=deque(list) #将列表转换为deque#作为队列使用:方式一deque.append(4) #入队print(deque) #deque([1, 2, 3, 4])print(deque.popleft()) #出队 1print(deque) #deque([2, 3, 4])
from collections import deque #需要导入模块list=[] #空列表deque=deque(list)#作为队列使用:方式二deque.appendleft(1) #入队deque.appendleft(2) print(deque) #deque([2, 1])print(deque.pop()) #出队 1print(deque) #deque([2])#这种方式需要list是空的#只要实现先进先出即可
实现栈、队列时,一般是使用空列表[]。
本文发布于:2023-04-07 12:35:14,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/035302e887200d56f92e2a1bafb48c69.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Python 栈、队列的实现.doc
本文 PDF 下载地址:Python 栈、队列的实现.pdf
留言与评论(共有 0 条评论) |