0%

栈的浅析

这里初度对栈进行浅度分析。

对于栈的定义、原理、特性在这里就不再提了,只是说一下关键点,另外,顺序栈也不说了,就从链栈开始讲起吧。

链栈

定义不多说,直接上代码。

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())
请我喝杯咖啡吧~