这里初度对栈进行浅度分析。
对于栈的定义、原理、特性在这里就不再提了,只是说一下关键点,另外,顺序栈也不说了,就从链栈开始讲起吧。
链栈
定义不多说,直接上代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| class Node(): def __init__(self,value = None,next = None): self.value = value self.next = next def __str__(self): print(self.value)
class LinkList(): def __init__(self,length = None): self.head = None self.length = 0 def add(self,value): node = Node(value) if(self.head == None): self.head = node self.length += 1 else: old = self.head self.head = node node.next = old self.length += 1 def count(self): return self.length def pop(self): if(self.head == None): return None else: node = self.head self.head = self.head.next self.length -= 1 return node.value
|
测试数据
1 2 3 4 5 6
| linkList = LinkList() linkList.add(12) linkList.add(11) print(linkList.count()) print(linkList.pop()) print(linkList.pop())
|