defpeek(self): # 查看栈顶的对象,但不移除 if self.isEmpty(): raise StackException('StackUnderflow') else: element = self.S[-1] return element
defpop(self): # 移除栈顶对象,并返回该对象的值 if self.isEmpty(): raise StackException('StackUnderflow') else: element = self.S[-1] self.top = self.top - 1 del self.S[-1] return element
if __name__ == '__main__': s = Stack() # 压栈测试 for i in range(10): s.push(i) # 栈满测试 try: s.push(1) except Exception as e: print(e) # 出栈测试 for i in range(10): print(s.pop()) # 栈空测试 try: s.pop() except Exception as e: print(e)
if __name__ == '__main__': q = Queue() # 入队测试 for i in range(10): q.inQueue(i) # 队列满测试 try: q.inQueue(1) except Exception as e: print(e) # 出队测试 for i in range(10): print(q.outQueue()) # 队列空测试 try: q.outQueue() except Exception as e: print(e)