python中自定义的栈
2024-09-19 19:02:23
# 栈 先进后出 例如蒸笼,弹夹,饭菜等
class StackFullException(Exception):
"""自定义一个栈溢出异常"""
pass
class StackEmptyException(Exception):
"""自定义一个栈空出异常"""
pass
class Stack:
"""
自定义一个栈
"""
def __init__(self, size):
self.size = size
self.lst = [] # 存放数据的列表
self.top = 0 # 栈顶指针
def push(self, el):
"""入栈"""
if self.top >= self.size:
raise StackFullException('Your stack is full!')
self.lst.insert(self.top, el) # 放入元素
self.top += 1 # 栈顶指针向上移动一下
def pop(self):
"""出栈"""
if self.top == 0:
raise StackEmptyException('Your stack is empty!')
self.top -= 1
el = self.lst[self.top]
return el
s = Stack(4) # 传入栈的长度
# 往栈传入数据
s.push('林志玲')
s.push('朱茵')
s.push('金喜善')
s.push('张娜拉')
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())
最新文章
- ExceptionLess异常日志收集框架-1
- 经典收藏 50个jQuery Mobile开发技巧集萃
- io资料
- css样式(二)(伪类 | 伪元素 | 导航 | 图像拼合 | 属性选择器 )
- 实战Django:官方实例Part2
- github and SourceTree初步使用
- 自定义checkbox样式
- 【线性代数】标准正交矩阵与Gram-Schmidt正交化
- 底部导航栏-----FragmentTabHost
- pycharm中Django的安装和简单使用
- OpenGL.Tutorial03_Matrices_测试
- MySql最土的语法解释使用一。
- 【IE11请求中止】 XMLHttpRequest: 网络错误 0x2ef3的意外出现
- [转] web前端js构造无法销毁的类UUID识别码,识别浏览器设备唯一性
- 【C#】C#操作Excel文件(转)
- 使用mysql乐观锁解决并发问题思路
- ArcGIS鼠标滚轮方向之ArcMap篇
- iOS 组件化方案
- guulp配置编译ES6
- Codeforces 834C - The Meaningless Game
热门文章
- dev控件 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内
- while循环与 for循环
- bit、byte、与字符
- java基础知识—运算符和基本选择结构
- swiper 父级元素display:none 之bug
- DeepCTR专题:Neural Factorization Machines 论文学习和实现及感悟
- native-echarts 图形组件
- Linux:Gentoo系统的安装笔记(二)
- 网易云课堂----java视频教程
- java.lang.ClassNotFoundException: org.apache.storm.topology.IRichSpout