"""
squeue.py 队列的顺序存储
重点
思路分析:
1. 基于列表完成数据存储
2. 通过封装规定数据操作
3. 先确定列表的哪一段作为队头
"""
# 自定义队列异常
class QueueError(Exception):
pass
# 队列操作
class SQueue:
# 初始化
def __init__(self):
self._elems = []
# 判断队列是否为空
def is_empty(self):
return self._elems == []
# 入队 列表尾部定义为队尾
def enqueue(self,val):
self._elems.append(val)
# 出队 列表的第一个元素
def dequeue(self):
if not self._elems:
raise QueueError("Queue is empty")
return self._elems.pop(0)
if __name__ == "__main__":
sq = SQueue()
for i in range(10):
sq.enqueue(i)
########### 将队列翻转 #############
from sstack import *
st = SStack()
# 循环出队入栈
while not sq.is_empty():
st.push(sq.dequeue())
# 循环出栈入队
while not st.is_empty():
sq.enqueue(st.pop())
while not sq.is_empty():
print(sq.dequeue())
队列的顺序存储
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 首先让我们先简单地来认识一下队列: 队列介绍 队列一种受限线性表,只允许在一段进行插入,在另一端进行删除。它还有个...
- 澜妈想问下魅宝们,是否有过这样的疑惑,为什么同样的饭,闰蜜吃了没反应,自己却在疯狂的长肉?为什么!为什么!!为什么...