本文采用Python语言实现数据结构之栈操作,栈实现的是一种后进先出的策略,被删除的元素总是最近被插入的元素,程序具体包括构造栈、添加栈元素、删除栈元素。
#构造栈结构
class Stack(object):
def __init__(self,S=[],top=-1):
self.S=S
self.top=top
#插入元素
def Push(x):
T.top=T.top+1
T.S.append(x)
return T.S
#空栈的处理,通过查询Stack_Empty函数判断栈是否是空栈
def Stack_Empty(T):
if T.top==-1:
return True
else:
return False
#删除栈元素
def Pop(T):
if Stack_Empty(T):
return 'error\'underflow\''
else:
T.top = T.top - 1
return T.S.pop()
T=Stack()
a=[1,2,4,5,8,6]
for n in a:
print(Push(n))
print(Pop(T))
print(Pop(T))
print(Pop(T))
print(Pop(T))
print(Pop(T))
print(Pop(T))
print(Pop(T))
运行结果如下:
把a=[1,2,4,5,8,6]中的元素依次插入栈中,然后在依次删除元素,最后删除所有栈中元素后,再删除一次的话就返回一个error’underflow’,下溢操作。