首页 > 其他 > 详细

顺序存储(数据结构--栈)

时间:2019-04-29 23:39:51      阅读:188      评论:0      收藏:0      [点我收藏+]
备注:以列表为基础进行对此的封装,以便达到栈的效果及作用
1
""" 2 栈的顺序存储结构 3 重点代码 4 """ 5 6 # 自定义栈异常 7 class StackError(Exception): 8 pass 9 10 # 基于列表实现顺序栈 11 class SStack: 12 def __init__(self): 13 # 约定列表的最后一个元素为栈顶 14 self._elems = [] 15 16 def top(self): 17 if not self._elems: 18 raise StackError("stack is empty") 19 return self._elems[-1] 20 21 # 判断栈是否为空 22 def is_empty(self): 23 return self._elems == [] 24 25 # 入栈 26 def push(self,elem): 27 self._elems.append(elem) 28 29 # 出栈 30 def pop(self): 31 if not self._elems: 32 raise StackError("stack is empty") 33 return self._elems.pop() 34 35 36 if __name__ == "__main__": 37 st = SStack() # 初始化栈 38 # print(st.top()) 39 print(st.is_empty()) 40 st.push(10) 41 st.push(20) 42 st.push(30) 43 while not st.is_empty(): 44 print(st.pop())

 

顺序存储(数据结构--栈)

原文:https://www.cnblogs.com/kavin-lee/p/10793499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!