本文来源吾爱破解论坛
[Python] 纯文本查看 复制代码
# 定义一个栈(Stack)类,用于模拟一种具有后进先出(LIFO)特性的数据结构。 # 至少需要有以下方法: # 方法名 # isEmpty() # 判断当前栈是否为空(返回 True 或 False) # push() # 往栈的顶部压入一个数据项 # pop() # 从栈顶弹出一个数据项(并在栈中删除) # top() # 显示当前栈顶的一个数据项 # bottom() # 显示当前栈底的一个数据项 class Stack: def __init__(self,start = []): self.stack = [] for x in start: self.push(x) def isEmpty(self): # if len(self.stack) == 0: # return True # else: # return False return not self.stack def push(self,x): self.stack.append(x) def pop(self,x): # self.stack.pop() if self.isEmpty(): print('警告:栈为空!') else: return self.stack.pop() def top(self): if self.isEmpty(): print('警告:栈为空!') else: return self.stack[-1] def bottom(self): if self.isEmpty(): print('警告:栈为空!') else: return self.stack[0] def print_stack(self,reversed = False): if reversed == False: print(self.stack) else : self.stack.reverse() print(self.stack) self.stack.reverse() # Python的list.reverse()方法,会直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果。
本帖被以下淘专辑推荐: · Python优质笔记整理(学习起来)|主题: 18, 订阅: 112
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: [算法]求中位数 LeetCode第4题
- 下一篇: 遍历文件夹,将所需要的文本复制到人一个文件夹