究竟栈为何物
栈是一种线性数据结构,用先进后出或者是后进先出的方式存储数据,栈中数据的插入删除操作都是在栈顶端进行。
栈是一种特殊的列表,栈内的元素只能通过一端进行访问,这一端为栈顶。
Python 如何实现栈
使用内置数据结构List 可以用来实现栈;
使用append() 向栈顶添加元素;
使用pop() 可以以后进先出的顺序删除元素;
Python 实栈代码
1 2 from logging import exception 3 class testStack(): 4 def __init__(self,size): 5 self.size=size #堆栈的大小 6 self.stack_info=[]#堆栈的存放空间 7 self.top=-1 #用来记录与判断栈的状态位 8 9 def push(self,value): #进栈 10 if(self.isfull()): 11 raise exception("stack is full") 12 else: 13 self.stack_info.append(value) 14 self.top+=1 15 16 def pop(self):#出栈 17 if(self.isempty()): 18 raise exception("stack is empty") 19 else: 20 self.top-=1 21 # print(self.top) 22 self.stack_info.pop() 23 24 def sizes(self):#计算栈的长度 25 return len(self.stack_info) 26 27 def isfull(self): #判定栈是否满了 28 return self.top+1==self.size 29 30 def isempty(self): #判定栈是否是空 31 return self.top==-1 32 33 def showStack(self):#打印栈内容 34 print(self.stack_info) 35 36 def clean(self):#清空栈 37 self.stack_info.clear() 38 39 if __name__ == '__main__': 40 s=testStack(10) 41 for i in range(10): 42 s.push(i) 43 print(s.sizes()) 44 s.showStack() 45 for i in range(10): 46 s.pop() 47 print(s.sizes()) 48 s.showStack()
欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、
资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。
备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:
添加关注,让我们一起共同成长!