用python模拟栈的实现
还有其他的数据类型:队列,树,堆,图如何用python来实现呢
# 这个类其实就是为了模拟栈的运行方式而编写的,并没有什么实际性的作用
class Stack:
def __init__(self, start=[]):
# 这个属性就是栈本身,虽然在python中他并没有内存空间的限制
self.stack = []
# 模拟栈的运行方式将实例化类时传入的参数一个一个的压入(push)栈(self.stack)中,在实际使用中与 self.stack = start 作用是相同的
for x in start: # 先写对象再写如何实现该对象
self.push(x)
def isEmpty(self):
return not self.stack
def push(self, obj):
self.stack.append(obj)
# 弹栈操作(pop)
def pop(self):
if not self.stack:
print('警告:栈为空!')
else:
return self.stack.pop()
def top(self):
if not self.stack:
print('警告:栈为空!')
else:
return self.stack[-1]
def bottom(self):
if not self.stack:
print('警告:栈为空!')
else:
return self.stack[0]