网站首页 > 技术文章 正文
队列
定义:队列是限制两端进行插入操作和删除操作的线型表允许进行存入操作的一端叫作队尾,允许进行删除的一端叫作“队头”
特点:队列只能在队头队尾进行操作。
队列具有先进先出或者叫后进后出的规律。
应用:如银行的排号系统。
代码现实:
队列有“入队”,“出队”,队的空满等操作。
顺序存储模型:data03/squeue.py
链表存储模型:dqta03/queue.py
'''
.队列:顺序存储模型(列表)
功能:入队(从尾部)----出队(从头部)
'''
#自定义异常
class stackError(Exception):
pass
class Squeue:
def __init__(self):
self._elems=[]
def empyt(self):
return self._elems==[]
def enqueue(self, val):
#self._elems.insert(0,val)#前进
self._elems.append(val)#后进
def dequeue(self):
#后出return self._elems.pop()
return self._elems.pop(0)#前出
def show(self):
for item in self._elems:
print(item,end=" ")
print()
def top(self):
if self._elems==[]:
raise stackError("squeue is empty")
return self._elems[0]
#测试:
if __name__=="__main__":
s=Squeue()
for item in range(1,10):
s.enqueue(item)
print(s.dequeue())
s.show()
print(s.top())
########反转队列###########
from sstack import SStack
st=SStack()#新建一个栈
#根据栈后进先出的特点反转队列
while not s.empyt():#只要队列不为空,把队列元素放入栈
st.push(s.dequeue())
while not st.is_empty():#只要栈不为空,把栈里的元素取出放出队列
s.enqueue(st.pop())
s.show()
猜你喜欢
- 2025-08-06 生产环境中使用的十大 Python 设计模式
- 2025-08-06 面试必备:Python内存管理机制(建议收藏)
- 2025-08-06 服务端开发面试必背——消息队列及它的主要用途和优点。附代码
- 2025-08-06 Python 栈:深度解析与应用
- 2025-08-06 Python中的多进程
- 2025-08-06 Python Logging 最佳实践
- 2025-08-06 Python并发数据结构实现原理
- 2025-08-06 用SendGrid和Redis队列用Python调度国际空间站的电子邮件
- 2025-08-06 Python教程(三十五):数据库操作进阶
- 2025-08-06 Python倒车请注意!负步长range的10个高能用法,让代码效率翻倍
- 08-06生产环境中使用的十大 Python 设计模式
- 08-06面试必备:Python内存管理机制(建议收藏)
- 08-06服务端开发面试必背——消息队列及它的主要用途和优点。附代码
- 08-06Python 栈:深度解析与应用
- 08-06Python中的多进程
- 08-06Python Logging 最佳实践
- 08-06Python并发数据结构实现原理
- 08-06用SendGrid和Redis队列用Python调度国际空间站的电子邮件
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)