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的即时标记项目练习笔记
Sep 18 Python
Django1.7+python 2.78+pycharm配置mysql数据库
Oct 09 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 Python
python定时关机小脚本
Jun 20 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
Python PyPDF2模块安装使用解析
Jan 19 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 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计算加权平均数的方法
2015/07/16 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
PHP运行模式汇总
2016/11/06 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
python实现自动发送报警监控邮件
2018/06/21 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
两则小学生的自我评价分享
2013/11/14 职场文书
教导处工作制度
2014/01/18 职场文书
规范化管理年活动总结
2014/08/29 职场文书
PHP RabbitMQ消息列队
2022/05/11 PHP