博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python实现队列
阅读量:5871 次
发布时间:2019-06-19

本文共 1026 字,大约阅读时间需要 3 分钟。

  hot3.png

队列是一种先进先出的数据类型,它的跟踪原理类似于在超市收银处排队,队列里的的第一个人首先接受服务,新的元素通过入队的方式添加到队列的末尾,而出队就是将队列的头元素删除。

我们可以设置一个类,用列表来存放栈中元素的信息,利用列表的append()pop()方法可以实现队列的入队enqueue和出队dequeue的操作,上面栈一个元素每次出去是列表的最后一个,直接用list.pop()出栈,而出队列每次是第一个,所以要用list.pop(0)出队列

代码如下:

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()

转载于:https://my.oschina.net/zybc/blog/2879066

你可能感兴趣的文章
Android开发学习总结(三)——appcompat_v7项目说明
查看>>
一个非常有用的辅助类 -- 阈值类的实现
查看>>
房费制 它 结账BUG
查看>>
解决Windows Server2008 R2中IE开网页时弹出阻止框(Windows Server2008网页无法打开的问题)...
查看>>
c++ 函数库查询
查看>>
分享非常有用的Java程序(关键代码)(七)---抓屏程序
查看>>
问题-[Delphi]通过Map文件查找内存地址出错代码所在行
查看>>
heap和stack有什么区别
查看>>
[翻译]用 Puppet 搭建易管理的服务器基础架构(3)
查看>>
价值博客们,技术博客
查看>>
Oracle 分组排序函数
查看>>
Android -- AudioPlayer
查看>>
Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)
查看>>
HTML5游戏引擎排行榜
查看>>
BC 2015在百度之星程序设计大赛 - 预赛(1)(矩形区域-旋转卡)
查看>>
ServletContentLIstener接口演示ServletContext的启动和初始化
查看>>
限时授权复制文件 1.0(2015.9.2更新)
查看>>
C++ 'dynamic_cast' and Java 'instanceof' 使用对比
查看>>
Android Studio 初探
查看>>
Jquery插件easyUi表单验证提交
查看>>