# -*- coding:utf-8 -*-
# auther="金木水火"
class stack():
'''
堆栈数据结构
1.只有一个出/入口尽心改数据添加
2.没有位置概念
3.后进先出
'''
def __init__(self):
#禁止外部调用
self.__st=list()
def inStack(self,Value):
self.__st.append(Value)
def outStack(self):
self.__st.pop()
def sizeStack(self):
return len(self.st)
class queue():
'''
队列数据结构
1.队列只允许一端进,另外一端出的线性表
2.先进先出
3.增加只能在队尾,删除只能在队首
'''
def __init__(self):
# 禁止外部调用
self.__q=list()
def inQueue(self,Vaue):
self.__q.append(Vaue)
return self.__q
def outQueue(self):
return self.__q.pop(0)
def deleteIteam(self):
del self.__q[0]
return self.__q
class Dqueue():
'''
双端队列数据结构
1.双端队列可以在队尾和队首入队和出队
2.可以先进先出也可以先进后出
'''
def __init__(self):
self.__dq=list()
def inFromHead(self,Value):
self.__dq.insert(0,Value)
return self.__dq
def inFromEnd(self,Value):
self.__dq.append(Value)
return self.__dq
def outFronHead(self):
return self.__dq.pop(0)
def outFronEnd(self):
return self.__dq.pop()
if "__main__" == __name__:
dq=Dqueue()
d=dq.inFromEnd(1)
d = dq.inFromEnd(2)
d = dq.outFronEnd()
print(d)
# q=queue()
# d=q.inQueue(1)
# print(d)
# d=q.inQueue(2)
# print(d)
# d=q.outQueue()
# print(d)
# d = q.deleteIteam()
# print(d)
python 实现堆栈和队列
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一,利用python列表实现堆栈 堆栈是一个后进先出的数据结构,其工作方式就像一堆汽车排队进去一个死胡同里面,最先...
- OK,上篇博客我们介绍了双向链表以及代码实现,这篇文章我们来学习堆栈和队列。 队、栈和链表一样,在数据结构中非常基...
- 在Python中实现两个堆栈的队列。数据结构了解堆栈和队列。然后用两个堆栈实现一个队列。堆栈和队列都是列表。但它们...
- 在python编程中很多的数据计算都需要依靠列表来实现,比如Java编程中的堆栈结构/队列结构也可以通过list列...
- 一、链表 二、队列 附个实例:约瑟夫斯问题 三、堆栈 四、AVL树(平衡二叉树) 详细关于AVL树请阅读:浅谈【树...