介绍
这篇文章主要介绍Python如何实现栈栈,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强>什么是栈强>
想象一摞被堆起来的书,这就是栈。这堆书的特点是,最后被堆进去的书,永远在最上面。从这堆书里面取一本书出来,取哪本书最方便?肯定是最上面那本。栈这种数据结构的特点就是如此:后进先出(后进先出(LIFO),即最后被堆进去的数据,最先被拿出来。
<强>栈的Python实现强>
栈可以用顺序表方式实现,也可以用链表方式实现。我大Python的内建数据结构太强大,可以用列表直接实现栈,简单快捷。人生苦短,我用Python。代码如下:
class 堆栈(对象): #,才能初始化栈为空列表 def 才能__init__(自我): ,,,self.items =, [] #才能,判断栈是否为空,返回布尔值 def 才能is_empty(自我): ,,,return self.items ==, [] #,才能返回栈顶元素 def 才能,peek(自我): ,,,return self.items (len (self.items),安康;1] #,才能返回栈的大小 def 才能;大小(自我): ,,,return len (self.items) #,才能把新的元素堆进栈里面(程序员喜欢把这个过程叫做压栈,入栈,进栈……) def 才能推动(自我,,项): ,,,self.items.append(项) #,才能把栈顶元素丢出去(程序员喜欢把这个过程叫做出栈……) def 才能;流行(自我,,项): ,,,return self.items.pop () if __name__ ==, __main__: #,才能初始化一个栈对象 my_stack 才能=,堆栈() #,才能把& # 39;h # 39;丢进栈里 my_stack.push才能(& # 39;h # 39;) #,才能把& # 39;一个# 39;丢进栈里 my_stack.push才能(& # 39;一个# 39;) #,才能看一下栈的大小(有几个元素) print 才能;my_stack.size () #,才能打印栈顶元素 print 才能;my_stack.peek () #,才能把栈顶元素丢出去,并打印出来 print 才能;my_stack.pop () #,才能再看一下栈顶元素是谁 print 才能;my_stack.peek () #才能,这个时候栈的大小是多少吗? print 才能;my_stack.size () #,才能再丢一个栈顶元素 print 才能;my_stack.pop () #,才能看一下栈的大小 print my_stack.size才能 #才能,栈是不是空了吗? print 才能;my_stack.is_empty () #才能,哇~真好吃~ print 才能;& # 39;美味~ & # 39;
<强>提示:强>
看完上面的代码,聪明的同学一定知道了,Python里面实现栈,就是把列表包装成一个类,再添加一些方法作为栈的基本操作。其他的数据结构在Python中也是以类似的方式实现的。
那么,这里有一些有的没的要说一下~
如果希望项目[]是堆栈类私有的属性,这样做就好了:
def __init__(自我): self.__items 才能=,[]
没错,就是在项目前面加两个下划线__,在Python中,类的私有成员就是这样定义哒~
如果希望限定堆栈类的成员只有项目,不要其他的怪蜀黍乱加成员,那么这样做就好了:
class 堆栈(对象): __slots__ 才能=,(& # 39;__items& # 39;) def 才能__init__(自我): ,,,self.__items =, []
这样就安全多啦~
以上是“Python如何实现栈栈”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!