python 队列基本定义与使用方法【初始化、赋值、判断等】


Posted in Python onOctober 24, 2019

本文实例讲述了python 队列基本定义与使用方法。分享给大家供大家参考,具体如下:

队列的特征是:先进先出

应用场景:消息通信、多进程间的协同、多线程间的协同等

在队列中需要设计的实例属性:head节点、tail节点

需要设计的实例方法有两个:分别是入队队列enqueue和出队队列dequeue

python 队列基本定义与使用方法【初始化、赋值、判断等】

# -*- coding:utf-8 -*-
#! python3
class Node(object):   #节点,包括两个属性,一个是节点的值,一个是节点的下一个指向
  def __init__(self,value):
    self.value = value  #节点的值
    self.next = None   #节点的下一个指向
class Queue(object):    #队列这个类
  def __init__(self):   #初始化这个队列
    self.first = None   #队列的首尾指向的节点都是None,初始化
    self.last = None
  def enter(self,n):
    packNode = Node(n)   #创建Node新节点实例,值为n
    if self.first == None: #如果首指向为空
      self.first = packNode    #将首指向的节点赋为传进来的节点
      self.last = self.first   #并且将尾指向的节点赋为
    else:
      self.last.next = packNode    #如果队列不为空,就将新的节点赋值到目前last的下一个位置
      self.last = packNode      #然后移动last指向,将last指向到刚才新增的节点
  def quit(self):
    if self.first == None:
      return None
    else:
      tmp = self.first.value     #如果队列中存在值,则把队列中第一个的值赋值给tmp
      self.first = self.first.next  #将first的指向下一个,变为first指向
      return tmp
if __name__ == '__main__':
  print("------------队列开始--------")
  q = Queue()
  # n1 = Node(1)
  # n2 = Node(2)
  # n3 = Node(3)
  q.enter(1)
  q.enter(2)
  q.enter(3)
  print(q.quit())
  print(q.quit())
  print(q.quit())
  # print(q)

运行结果:

------------队列开始--------
1
2
3

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

Python 相关文章推荐
python类型强制转换long to int的代码
Feb 10 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
Python配置mysql的教程(推荐)
Oct 13 Python
django之session与分页(实例讲解)
Nov 13 Python
Python随机函数random()使用方法小结
Apr 29 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python读取各种文件数据方法解析
Dec 29 Python
详解python-图像处理(映射变换)
Mar 22 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 Python
python操作toml文件的示例代码
Nov 27 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 #Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
Oct 24 #Python
python实现获取单向链表倒数第k个结点的值示例
Oct 24 #Python
python模块导入的方法
Oct 24 #Python
python读取word 中指定位置的表格及表格数据
Oct 23 #Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 #Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 #Python
You might like
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
PHP Directory 函数的详解
2013/03/07 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
ThinkPHP分页实例
2014/10/15 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
js 覆盖和重载 函数
2009/09/25 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
javascript回调函数详解
2018/02/06 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
2019/06/25 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
python实现redis三种cas事务操作
2017/12/19 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
八年级数学教学反思
2014/01/31 职场文书
班级安全教育实施方案
2014/02/23 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
务虚会发言材料
2014/12/25 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
归途列车观后感
2015/06/17 职场文书
好人好事新闻稿
2015/07/17 职场文书
八年级物理教学反思
2016/02/19 职场文书
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技