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实现删除Android工程中的冗余字符串
Jan 19 Python
python更新列表的方法
Jul 28 Python
Python实现迭代时使用索引的方法示例
Jun 05 Python
实践Vim配置python开发环境
Jul 02 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
字典算法实现及操作 --python(实用)
Mar 31 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 和 MYSQL
2006/10/09 PHP
PHP与SQL注入攻击[二]
2007/04/17 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
由document.body和document.documentElement想到的
2009/04/13 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
Python内置函数OCT详解
2016/11/09 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python实现年会抽奖程序
2019/01/22 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
护士感人事迹
2014/05/01 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
mysql幻读详解实例以及解决办法
2022/06/16 MySQL