''' 1.首先确认栈的概念,先进后出 2.初始化的时候如果给了一个数组那么就要将数组进栈 ''' class Stack: def __init__(self,start=[]): self.stack=[] #初始化一个数组,用于存储栈成员 for x in start: #遍历初始化时给定的数组 self.push(x) #调用进栈方法 def isEmpty(self): #判断是否是空的栈 return not self.stack # not 0 为True not 1..为True def push(self,obj): #进栈 self.stack.append(obj) #实质是给数组添加成员 def pop(self): #出栈,一定是先进后出,也就是最后进的最早出去 if not self.stack: #首先判断栈是否为空 print("error stack is empty") else: return self.stack.pop() # 数组的pop是抛出数组最后一个元素,也就是最后田间的元素 def top(self): if not self.stack: print("error stack is empty") else: return self.stack[-1] #取出倒数第一个元素,也就是数组最后一个元素 def bottom(self): if not self.stack: print("error stack is empty") else: return self.stack[0] #取出第一个元素,也就是数组第一个元素