Python数据结构之栈、队列及二叉树定义与用法浅析数据结构之栈、队列及二叉树定义与用法浅析
本文实例讲述了Python数据结构之栈、队列及二叉树定义与用法。分享给大家供大家参考,具体如下:
目前只实现了三种,栈、队列和二叉树,哪天得空继续补吧~
1. 栈栈
#栈
class Stack:
def __init__(self,size = 16):
self.stack = [] self.size = size
self.top = -1
def setSize(self, size):
self.size = size
def isEmpty(self):
if self.top == -1:
return True
else:
return False
def isFull(self):
if self.top +1 == self.size:
return True
else:
return False
def top(self):
if self.isEmpty():
raise Exception("StackIsEmpty")
else:
return self.stack[self.top] def push(self,obj):
if self.isFull():
raise Exception("StackOverFlow")
else:
self.stack.append(obj)
self.top +=1
def pop(self):
if self.isEmpty():
raise Exception("StackIsEmpty")
else:
self.top -= 1
return self.stack.pop()
def show(self):
print(self.stack)
s = Stack(5)
s.push(1)
s.push(2)
s.push(3)
s.push(4)
s.push(5)
s.show()
s.pop()
s.show()
s.push(6)
s.show()
运行结果:
2. 队列队列
#队列
class Queue:
def __init__(self,size = 16):
self.queue = [] self.size = size
self.front = 0
self.rear = 0
def isEmpty(self):
return self.rear == 0
def isFull(self):