本文主要介绍Python如何实现Stack,非常详细,有一定的参考价值。有兴趣的朋友一定要看!
什么是栈
想象一堆书。这是堆栈。这堆书的特点就是堆进去的最后一本书总是在最上面。从这堆书里拿出一本书,哪本书最方便?肯定是最上面的。栈数据结构的特点是:后进先出-后进先出,即先取出最后堆积的数据。
栈的Python实现
堆栈可以通过顺序列表或链表来实现。我的Python内置的数据结构太强大了,直接用列表实现堆栈简单快捷。人生苦短,我用Python。代码如下:
类堆栈(对象):
#初始化堆栈为空列表
def__init__(self):
self.items=[]
#判断堆栈是否为空,并返回一个布尔值
defis_empty(self):
returnself.items==[]
#返回堆栈的顶部元素
defpeek(self):
returnself . items[len(self . items)-1]
#返回堆栈的大小
defsize(self):
returnlen(self.items)
#将新元素堆叠到堆栈中(程序员喜欢称这个过程为推送、堆叠、堆叠.)
defpush(自身,项目):
self.items.append(项目)
#抛出栈顶元素(程序员喜欢称这个过程为弹出.)
defpop(自身,项目):
returnself.items.pop()
if__name__==__main__:
#初始化堆栈对象
my_stack=Stack()
#在堆栈上抛出“H”
my_stack.push('h ')
#在堆栈上抛出“A”
my_stack.push('a ')
#看栈的大小(有几个元素)
printmy_stack.size()
#打印堆栈顶部元素
printmy_stack.peek()
#扔掉最上面的元素并打印出来
printmy_stack.pop()
#再看看谁是最重要的元素
printmy_stack.peek()
#此时堆栈的大小是多少?
printmy_stack.size()
#再放下一个栈顶元素
printmy_stack.pop()
#看栈的大小
printmy_stack.size
#堆栈是空的吗?
printmy_stack.is_empty()
#哇~好喝~
打印“美味~”Tips:
聪明的同学看完上面的代码一定知道,在Python中实现stack就是把list打包成一个类,然后添加一些方法作为stack的基本操作。其他数据结构在Python中以类似的方式实现。
然后,这里有一些事情要谈~
如果希望项[]成为堆栈类的私有属性,只需执行以下操作:
def__init__(self):
自我。__items=[]没错,就是在items前加两个下划线_ _即可。在Python中,一个类的私有成员是这样定义的~
如果您想将Stack类的成员限制为只有项目,并且不添加其他奇怪的成员,那么这很好:
类堆栈(对象):
__个插槽_ _=(“_ _个项目”)
def__init__(self):
自我。_ _物品=[]安全多了~
“Python如何实现堆栈”一文的内容就这么多了。谢谢大家看!希望分享的内容对大家有帮助,更多相关知识。欢迎关注本站!