python有栈的概念吗,python实现栈的基本操作
目录
栈的定义栈1的基本操作练习。栈栈的定义遵循后进先出。现实生活中有很多这样的例子。比如在学校食堂吃完饭,把菜放在桌子上。叠好之后,你阿姨过来把盘子拿出去洗。如果是手洗,一定要先从顶板洗,顶板放在最后。但是是第一个拿出来的,就是后进先出。同样,你可以查看网页。比如查“栈”,经常会打开几个网页链接,然后继续打开。你阅读的第一个网页应该是你打开的最后一个网页。
2.stack的基本操作class node(object):def _ _ init _ _(self,data,next=none):self . data=data self . next=next class stack(object):def _ _ init _ _(self,Top=none):self . Top=Top def push(self,data): #新建一个节点,放在栈顶self.top=node (data,self.top) def pop (self): #取出栈顶元素,如果self,原栈已经改变。top是none: return none data=self。顶端。数据自我。top=自我。顶端。下一次返回数据def peek (self): #检查堆栈的顶部元素,原始堆栈保持不变如果self.top不为none则返回self . top . data none def is empty(self):返回self.peek()为none if _ _ name _ _= _ _ main _ :stack=stack()1=stack . push(1)stack 1=stack . push(2)print stack . peek(),#检查stack . pop()print stack . peek()# Output:2 1 3。小练习使用堆栈来反转输入的字符串元素,即:
apple elppa def rev strings(myStr):Stack=Stack()for ch in myStr:Stack . push(ch)revStr= while not Stack . isempty():revStr=Stack . pop()return revStr print rev strings( apple )
不会写或报错的人主要有以下几个原因:
不使用stack的思想:后进先出的思想字符串遍历字符串拼接。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。