究竟栈为何物
栈是一种线性数据结构,用先进后出或者是后进先出的方式存储数据,栈中数据的插入删除操作都是在栈顶端进行。
栈是一种特殊的列表,栈内的元素只能通过一端进行访问,这一端为栈顶。
Python 如何实现栈
使用内置数据结构List 可以用来实现栈;
使用append() 向栈顶添加元素;
使用pop() 可以以后进先出的顺序删除元素;
Python 实战代码
from logging import exception
class testStack():
def __init__(self,size):
self.size=size #堆栈的大小
self.stack_info=[]#堆栈的存放空间
self.top=-1 #用来记录与判断栈的状态位
def push(self,value): #进栈
if(self.isfull()):
raise exception("stack is full")
else:
self.stack_info.append(value)
self.top =1
def pop(self):#出栈
if(self.isempty()):
raise exception("stack is empty")
else:
self.top-=1
# print(self.top)
self.stack_info.pop()
def sizes(self):#计算栈的长度
return len(self.stack_info)
def isfull(self): #判定栈是否满了
return self.top 1==self.size
def isempty(self): #判定栈是否是空
return self.top==-1
def showStack(self):#打印栈内容
print(self.stack_info)
def clean(self):#清空栈
self.stack_info.clear()
if __name__ == '__main__':
s=testStack(10)
for i in range(10):
s.push(i)
print(s.sizes())
s.showStack()
for i in range(10):
s.pop()
print(s.sizes())
s.showStack()