您现在的位置: 破洛洛 >> 服务器 >> WEB服务器 >> 正文

玄学代码报:Python队列的定义与使用方法

作者:佚名 来源:网络整理 更新时间:2017-7-24
分享到

2018码报资料大全 www.j5cwm.cn  虽然Python有自己的队列???,我们只需要在使用时引入该??榫托?,但是为了更好的理解队列,自己将队列实现了一下。

队列是一种数据结构,它的特点是先进先出,也就是说队尾添加一个元素,队头移除一个元素,类似于商场排队结账,先来的人先接账,后来的排在队尾。在我们日常生活中,发送短信就会用到队列。下面是Python实现队列的代码:

#!/usr/bin/python
#coding=utf-8
class Queue(object) :
 def __init__(self, size) :
  self.size = size
  self.queue = []
 def __str__(self) :
  return str(self.queue)
 #获取队列的当前长度
 def getSize(self) :
  return len(self.quene)
 #入队,如果队列满了返回-1或抛出异常,否则将元素插入队列尾
 def enqueue(self, items) :
  if self.isfull() :
   return -1
   #raise Exception("Queue is full")
  self.queue.append(items)
 #出队,如果队列空了返回-1或抛出异常,否则返回队列头元素并将其从队列中移除
 def dequeue(self) :
  if self.isempty() :
   return -1
   #raise Exception("Queue is empty")
  firstElement = self.queue[0]
  self.queue.remove(firstElement)
  return firstElement
 #判断队列满
 def isfull(self) :
  if len(self.queue) == self.size :
   return True
  return False
 #判断队列空
 def isempty(self) :
  if len(self.queue) == 0 :
   return True
  return False

下面是该队列类.py文件的测试代码:

if __name__ == '__main__' :
 queueTest = Queue(10)
 for i in range(10) :
  queueTest.enqueue(i)
 print queueTest.isfull()
 print queueTest
 print queueTest.getSize()
 for i in range(5) :
  print queueTest.dequeue()
 print queueTest.isempty()
 print queueTest
 print queueTest.getSize()

测试结果:

Python队列的定义与使用方法 三联

转载请注明:破洛洛(谢谢合作)
网友评论:
  • ——客观唯心主义哲学思想的幸福感和不幸福感则是:人的主观臆断的欲望能否在“神”的制约中满足“好”的感觉。“幸福”就是在“神”的制约中满足了人的主观臆断的欲望而达 2019-02-12
  • 浙江省余姚市探索开展基层协商民主“三化”建设 2019-02-12
  • 河北石家庄首家农村少年邮局揭牌 2019-02-11
  • 三晋史话:“百家争鸣”中的那些三晋名人 2019-01-31
  • 大换血!勇士8人合同到期 若处理不好将影响霸主地位 2019-01-10
  • 全国国象快棋超快棋锦标赛 余泱漪夺冠雷挺婕梅开二度 2018-12-24
  • 冰溪洋博客的博客—强国博客—人民网 2018-12-18
  • 2018年“文化和自然遗产日”大会在京举行--旅游频道 2018-12-05
  • 革命老区大悟县的“高铁之变” 2018-12-05
  • 阳煤投入10.5亿打造“碧水蓝天” 2018-11-30
  • 头皮出油头屑严重 该怎么养发护发?-美食资讯 2018-11-30
  • 铭记党报人责任和担当 2018-11-07
  • 英国成功完成机器人辅助眼部手术试验 2018-11-07
  • 鸡毛作坊藏身小区内 居民用这个办法举报 2018-09-25
  • 喜迎十九大 砥砺奋进的五年 2018-09-25
  • 275| 834| 926| 250| 499| 724| 466| 81| 304| 451|