class Node:
def __init__(self,data,next):
self.data=data
self.next=next
class LinkStack:
def __init__(self):
self.top=Node(None,None)
def IsEmpty(self):
if self.top.next==None:
print('当前状态:空栈')
return True
else:return False
def PushStack(self,d):
for i in d:
self.top=Node(i,self.top)
print(i,end=' ')
# print('mk:',self.top.data,self.top,self.top.next)
print()
def PopStack(self):
if self.IsEmpty():
return
else:
print(self.top.data,self.top)
self.top=self.top.next
def GetTop(self):
if self.IsEmpty():
return
else:
print('当前状态:顶栈值为',self.top.data,self.top)
return self.top.data
print('当前状态:初始化链栈')
LS=LinkStack()
LS.IsEmpty()
print('当前状态:依次进栈 ',end=' ')
LS.PushStack([2,4,6])
LS.GetTop()
print('当前状态:依次出栈:')
LS.PopStack()
LS.PopStack()
LS.PopStack()