python实现堆栈与队列的方法


Posted in Python onJanuary 15, 2015

本文实例讲述了python实现堆栈与队列的方法。分享给大家供大家参考。具体分析如下:

1、python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了。

stack.py的程序:

class Stack():  

    def __init__(self,size):  

        self.size=size;  

        self.stack=[];  

        self.top=-1;  

    def push(self,ele):  #入栈之前检查栈是否已满  

        if self.isfull():  

            raise exception("out of range");  

        else:  

            self.stack.append(ele);  

            self.top=self.top+1;  

    def pop(self):             # 出栈之前检查栈是否为空  

        if self.isempty():  

            raise exception("stack is empty");  

        else:  

            self.top=self.top-1;  

            return self.stack.pop();  

      

    def isfull(self):  

        return self.top+1==self.size;  

    def isempty(self):  

        return self.top==-1;

 
再写一个程序文件,stacktest.py,使用栈,内容如下:
 
#!/usr/bin/python   

from stack import Stack  

s=Stack(20);  

for i in range(3):  

    s.push(i);  

s.pop()  

print s.isempty();

2、python 实现队列:
class Queue():  

    def __init__(self,size):  

        self.size=size;  

        self.front=-1;  

        self.rear=-1;  

        self.queue=[];  

    def enqueue(self,ele):  #入队操作  

        if self.isfull():  

            raise exception("queue is full");  

        else:  

            self.queue.append(ele);  

            self.rear=self.rear+1;  

    def dequeue(self):      #出队操作  

        if self.isempty():  

            raise exception("queue is empty");  

        else:  

            self.front=self.front+1;  

            return self.queue[self.front];  

    def isfull(self):  

        return self.rear-self.front+1==self.size;  

    def isempty(self):  

        return self.front==self.rear;  

      

q=Queue(10);  

for i in range(3):  

    q.enqueue(i);  

print q.dequeue();  

print q.isempty();

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

Python 相关文章推荐
Python控制多进程与多线程并发数总结
Oct 26 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
详解supervisor使用教程
Nov 21 Python
python机器学习案例教程——K最近邻算法的实现
Dec 28 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
关于pytorch中网络loss传播和参数更新的理解
Aug 20 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
django框架auth模块用法实例详解
Dec 10 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 Python
使用python处理题库表格并转化为word形式的实现
Apr 14 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
Python Pandas模块实现数据的统计分析的方法
Jun 24 Python
python多线程用法实例详解
Jan 15 #Python
Python中os.path用法分析
Jan 15 #Python
python静态方法实例
Jan 14 #Python
python继承和抽象类的实现方法
Jan 14 #Python
python列表操作实例
Jan 14 #Python
python操作gmail实例
Jan 14 #Python
Python中的装饰器用法详解
Jan 14 #Python
You might like
PHP使用数组实现队列
2012/02/05 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python OS模块实例详解
2019/04/15 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
班主任班级寄语大全
2014/04/04 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
抄袭同学作业检讨书1000字
2014/11/20 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书
合作意向书怎么写
2019/06/24 职场文书