python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)
前言
Python本身已有順序表(List、Tupple)的實(shí)現(xiàn),所以這里從棧開(kāi)始。
什么是棧
想象一摞被堆起來(lái)的書(shū),這就是棧。這堆書(shū)的特點(diǎn)是,最后被堆進(jìn)去的書(shū),永遠(yuǎn)在最上面。從這堆書(shū)里面取一本書(shū)出來(lái),取哪本書(shū)最方便?肯定是最上面那本。棧這種數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)就是如此:后進(jìn)先出(Last In First Out - LIFO),即最后被堆進(jìn)去的數(shù)據(jù),最先被拿出來(lái)。
棧的Python實(shí)現(xiàn)
棧可以用順序表方式實(shí)現(xiàn),也可以用鏈表方式實(shí)現(xiàn)。我大Python的內(nèi)建數(shù)據(jù)結(jié)構(gòu)太強(qiáng)大,可以用list直接實(shí)現(xiàn)棧,簡(jiǎn)單快捷。人生苦短,我用Python。代碼如下:
Tips:
看完上面的代碼,聰明的同學(xué)一定知道了,Python里面實(shí)現(xiàn)棧,就是把list包裝成一個(gè)類(lèi),再添加一些方法作為棧的基本操作。其他的數(shù)據(jù)結(jié)構(gòu)在Python中也是以類(lèi)似的方式實(shí)現(xiàn)的。
那么,這里有一些有的沒(méi)的要說(shuō)一下~
如果希望items[]是Stack類(lèi)私有的屬性,這樣做就好了:
沒(méi)錯(cuò),就是在items前面加兩個(gè)下劃線__,在Python中,類(lèi)的私有成員就是這樣定義噠~
如果希望限定Stack類(lèi)的成員只有items,不要其他的怪蜀黍亂加成員,那么這樣做就好了:
這樣就安全多啦~
Python并沒(méi)有Java里的public/private/protected這樣的修飾符,因?yàn)镻ython的設(shè)計(jì)者認(rèn)為,“大家都是成年人了”~
總結(jié)
以上所述是小編給大家介紹的Python實(shí)現(xiàn)的棧(Stack),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!
原文鏈接:http://blog.csdn.net/xuqiang20121991/article/details/54139431
總結(jié)
以上是生活随笔為你收集整理的python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql单台跨数据库查询_在MySQL
- 下一篇: php中intval函数用法,php i