没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
4页
文章目录前言栈栈结构实现栈的操作Stack() 创建一个新的空栈push(item) 添加一个新的元素item到栈顶pop() 弹出栈顶元素peek() 返回栈顶元素is_empty() 判断栈是否为空size() 返回栈的元素个数测试代码队列队列的实现队列的操作Queue() 创建一个空的队列。enqueue(item) 往队列中添加一个item元素dequeue() 从队列头部删除一个元素is_empty() 判断一个队列是否为空size() 返回队列的大小双端队列双端队列的操作Deque() 创建一个空的双端队列add_front(item) 从队头加入一个item元素add_rear(
资源详情
资源评论
资源推荐
3分钟带你搞懂栈和队列(分钟带你搞懂栈和队列(Python实现)实现)——不懂你锤我不懂你锤我
文章目录文章目录前言栈栈结构实现栈的操作Stack() 创建一个新的空栈push(item) 添加一个新的元素item到栈顶pop() 弹出栈顶元素peek() 返回栈顶元
素is_empty() 判断栈是否为空size() 返回栈的元素个数测试代码队列队列的实现队列的操作Queue() 创建一个空的队列。enqueue(item) 往队列
中添加一个item元素dequeue() 从队列头部删除一个元素is_empty() 判断一个队列是否为空size() 返回队列的大小双端队列双端队列的操作
Deque() 创建一个空的双端队列add_front(item) 从队头加入一个item元素add_rear(item) 从队尾加入一个item元素remove_front() 从队头删除一
个item元素remove_rear() 从队尾删除一个item元素is_empty() 判断双端队列是否为空size() 返回队列的大小后记
前言前言
前面的链表部分已经啰里啰嗦的整完了,看到了很多大佬的留言说我整链表是多此一举,并且链表的实用性不大,还有的人说,难道Python自
带的列表他不香嘛,非要去整什么链表,。我想说的是,我现在学的是数据结构,数据结构难道不应该学链表嘛?不应该用Python语言语法来
实现试试嘛?不过我今天就要用真香的列表来实现栈和队列这两种数据结构!
栈栈
什么是栈?此栈非彼栈,既不是客栈也不是肖战。栈是一种有严格限制的数据结构,这里的限制指的就是只允许在一端进行插入删除操作,且
遵循后进先出的原则,即LIFO(Last In First Out),租后进来最先出去可太惨了(哈哈)。
栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指
标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是
此前最后存入的那个元素,确定了一种默认的访问顺序。
栈结构实现栈结构实现
既然是严格限制的数据结构,那么对于我们来说其操作也没有链表里面那么麻烦,并且Python中封装好了列表这一数据结构,可以使用列表列表来
实现栈的功能,当然如果你很闲的话也可以选择使用链表。
栈的操作栈的操作
Stack() 创建一个新的空栈
push(item) 添加一个新的元素item到栈顶
pop() 弹出栈顶元素
peek() 返回栈顶元素
is_empty() 判断栈是否为空
size() 返回栈的元素个数
Stack() 创建一个新的空栈创建一个新的空栈
哇!是真的简单!因为是用列表实现的,一个空栈理论上就是一个空的列表。
class Stack(object):
"""栈"""
def __init__(self):
self.__list = []
push(item) 添加一个新的元素添加一个新的元素item到栈顶到栈顶
def push(self, item):
"""添加一个新的元素item到栈顶"""
self.__list.append(item)
pop() 弹出栈顶元素弹出栈顶元素
def pop(self):
weixin_38738830
- 粉丝: 6
- 资源: 920
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5uonly.apk
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
- 基于JSP毕业设计-基于WEB操作系统课程教学网站的设计与实现(源代码+论文).zip
- 基于LM324和LM386的音响放大器Multisim仿真+PCB电路原理图
- Python机器学习与数据挖掘环境配置与库验证
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0