栈只有只能对栈顶元素进行修改遵循先进后出原则
使用python实现栈:
代码如下:
#栈的实现
class Stack(object):
def __init__(self,size): #size为栈的大小
self.stack=[] #装栈里面的内容
self.size=size
self.top=-1 #栈顶初始化
def push(self,content): #写如数据
if self.Full():
print("栈满")
else:
self.stack.append(content) #将数据写入栈(stack)
self.top=self.top+1
def out(self): #删除数据
if self.Empty():
print('栈空')
else:
del self.stack[self.top]
self.top=self.top-1
def Full(self): #判断栈是否满了
if self.top==self.size:
return True
else:
return False
def Empty(self): #判断是否栈空
if self.top==-1:
return True
else:
return False
if __name__=='__main__':
q=Stack(1) #定义栈的大小
print("入栈")
q.push("python")
print(q.stack)
q.push("python1")
print(q.stack)
q.push("python2")
print(q.stack)
print("******"*10)
print("出栈")
q.out()
print(q.stack)
print(q.size)
q.out()
print(q.stack)
print(q.size)
运行结果如下