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 isinstance判断对象类型
Sep 06 Python
从零学Python之入门(四)运算
May 27 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
Python探索之SocketServer详解
Oct 28 Python
python3实现磁盘空间监控
Jun 21 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
python求最大值最小值方法总结
Jun 25 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 Python
python 读取串口数据的示例
Nov 09 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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
javascript中"/"运算符常见错误
2010/10/13 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
python读取html中指定元素生成excle文件示例
2014/04/03 Python
python学习必备知识汇总
2017/09/08 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Django-imagekit的使用详解
2020/07/06 Python
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
服装销售人员求职自我评价
2013/09/26 职场文书
计算机专业大学生的自我评价
2013/11/14 职场文书
工程安全员岗位职责
2014/03/09 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript