Python基于列表模拟堆栈和队列功能示例


Posted in Python onJanuary 05, 2018

本文实例讲述了Python基于列表模拟堆栈和队列功能。分享给大家供大家参考,具体如下:

之前的文章https://3water.com/article/59897.htm介绍了堆栈与队列的Python实现方法,这里使用列表来模拟一下堆栈与队列的简单操作。

一、队列特点:先进先出、后进后出

用列表insert、pop模拟进队出队:

>>> l = []
>>> l.insert(0,'p1')
>>> l.insert(0,'p2')
>>> l.insert(0,'p3')
>>> l
['p3', 'p2', 'p1']
>>> l.pop()
'p1'
>>> l.pop()
'p2'
>>> l.pop()
'p3'

用列表append、pop模拟进队出队:

>>> l = []
>>> l.append('p1')
>>> l.append('p2')
>>> l.append('p3')
>>> l
['p1', 'p2', 'p3']
>>> l.pop(0)
'p1'
>>> l.pop(0)
'p2'
>>> l.pop(0)
'p3'

二、堆栈特点:先进后出、后进先出

用列表insert、pop方法模拟进栈出栈:

>>> l = []
>>> l.insert(0,'a1')
>>> l.insert(0,'a2')
>>> l.insert(0,'a3')
>>> l
['a3', 'a2', 'a1']
>>> l.pop(0)
'a3'
>>> l.pop(0)
'a2'
>>> l.pop(0)
'a1'

用列表append、pop方法模式进栈出栈:

>>> l = []
>>> l.append('a1')
>>> l.append('a2')
>>> l.append('a3')
>>> l
['a1', 'a2', 'a3']
>>> l.pop()
'a3'
>>> l.pop()
'a2'
>>> l.pop()
'a1'

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python编码时应该注意的几个情况
Mar 04 Python
web.py在模板中输出美元符号的方法
Aug 26 Python
Python操作MySQL简单实现方法
Jan 26 Python
python获取元素在数组中索引号的方法
Jul 15 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
利用PyInstaller将python程序.py转为.exe的方法详解
May 03 Python
Python编程之string相关操作实例详解
Jul 22 Python
python 生成图形验证码的方法示例
Nov 11 Python
详解Python学习之安装pandas
Apr 16 Python
python实现网站微信登录的示例代码
Sep 18 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
Jan 15 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 Python
Django 2.0版本的新特性抢先看!
Jan 05 #Python
微信跳一跳游戏python脚本
Apr 01 #Python
Python基于列表list实现的CRUD操作功能示例
Jan 05 #Python
django 2.0更新的10条注意事项总结
Jan 05 #Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 #Python
python with提前退出遇到的坑与解决方案
Jan 05 #Python
微信跳一跳小游戏python脚本
Jan 05 #Python
You might like
php新建文件自动编号的思路与实现
2011/06/27 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
Python冲顶大会 快来答题!
2018/01/17 Python
python逆序打印各位数字的方法
2018/06/25 Python
详解Python3 基本数据类型
2019/04/19 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
跨域修改iframe页面内容详解
2019/10/31 HTML / CSS
阿波罗盒子:Apollo Box
2017/08/14 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
个人职业生涯规划书1500字
2013/12/31 职场文书
小学生作文评语大全
2014/04/21 职场文书
房地产端午节活动方案
2014/08/24 职场文书
太空授课观后感
2015/06/17 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL