---
title: "简单链栈 Python"
id: "2790"
type: "post"
slug: "%e7%ae%80%e5%8d%95%e9%93%be%e6%a0%88-python"
published_at: "2020-04-06T04:55:10+00:00"
modified_at: "2020-04-06T05:15:54+00:00"
url: "https://seq.ink/all/2790.html"
markdown_url: "https://seq.ink/all/2790.html.md"
excerpt: "class Node: def __init__(self,data,next): self.data=data self.next=next class LinkStack: def __init__(self): self.top=No ..."
taxonomy_category:
  - "ALL"
---

```
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()
```
