Python 之“栈为何物”

究竟栈为何物

栈是一种线性数据结构,用先进后出或者是后进先出的方式存储数据,栈中数据的插入删除操作都是在栈顶端进行。
栈是一种特殊的列表,栈内的元素只能通过一端进行访问,这一端为栈顶。

 

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自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

 添加关注,让我们一起共同成长!

posted on 2020-09-02 11:09  Wu_Candy  阅读(168)  评论(0编辑  收藏  举报