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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
设计模式中的原型模式在Python程序中的应用示例
Mar 02 Python
Python之str操作方法(详解)
Jun 19 Python
详解K-means算法在Python中的实现
Dec 05 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
wxpython布局的实现方法
Nov 01 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
php数组删除元素示例
2014/03/21 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
php生成二维码
2015/08/10 PHP
php中使用GD库做验证码
2016/03/31 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
JS与框架页的操作代码
2010/01/17 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
Django实现自定义404,500页面教程
2017/03/26 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python使用正则筛选信用卡
2019/01/27 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
Django--权限Permissions的例子
2019/08/28 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
开放系统互连参考模型
2016/06/29 面试题
会计出纳岗位职责
2013/12/25 职场文书
大课间活动制度
2014/01/18 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
介绍信范文
2015/01/31 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS
Python利用capstone实现反汇编
2022/04/06 Python