Python如何实现栈Stack

2022年 10月 19日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

本文主要介绍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如何实现堆栈”一文的内容就这么多了。谢谢大家看!希望分享的内容对大家有帮助,更多相关知识。欢迎关注本站!

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: