python栈模型的顺序存储

重点代码

思路:1、列表顺序存储,功能多不适合栈模型

2、利用列表进行封装,提供接口方法

#自定义异常

class stackError(Exception):

pass

class SStack:

def __init__(self):

self._elems=[]#栈的存储空间,将列表的最后一个元素作为栈顶

def is_empty(self):#判断列表是否为空

return self._elems==[]

def push(self,val):#入栈,向栈内传送数据

self._elems.append(val)

def pop(self):#出栈,从栈内取出数据

if self.is_empty():

raise stackError("stack is empty")

return self._elems.pop()#弹出并返回一个值

def top(self):#查看最后一个元素

if self.is_empty():

raise stackError("stack is empty")

return self._elems[-1]

###############测试###########

if __name__=="__main__":

st=SStack()

st.push(10)

st.push(20)

st.push(30)

while not st.is_empty():

print(st.pop())

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章