美文网首页
python数据结构-队列

python数据结构-队列

作者: 薛皓哲 | 来源:发表于2017-08-09 09:03 被阅读15次

队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(front)进行。


20170808150216106124006.png 2017080815021733642971.png

队列ADT(抽象数据类型)一般提供以下接口:

① Queue() 创建队列
② enqueue(item) 向队尾插入项
③ dequeue() 返回队首的项,并从队列中删除该项
④ empty() 判断队列是否为空
⑤ size() 返回队列中项的个数

20170808150217386840423.png
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created by xuehz on 2017/8/8

class Queue():
    def __init__(self,size):
        self.queue = []
        self.size = size
        self.head = -1
        self.tail = -1

    def Empty(self):
        if self.head == self.tail:
            return True
        else:
            return False

    def Full(self):
        if self.tail - self.head +1 == self.size:
            return True
        else:
            return False

    def enQueue(self, content):
        if self.Full():
            print 'Queue is Full'
        else:
            self.queue.append(content)
            self.tail = self.tail+1

    def outQueue(self):
        if self.Empty():
            print 'Queue is Empty'
        else:
            self.head = self.head+1
     
 

class Queue:
  def __init__(self):
    self.items = []
  def enqueue(self, item):
    self.items.append(item)
  def dequeue(self):
    return self.items.pop(0)
  def empty(self):
    return self.size() == 0
  def size(self):
    return len(self.items)

相关文章

  • 6-Python 数据结构初识

    课程概要:1、Python 数据结构概述2、Python 常见数据结构——栈3、Python 常见数据结构——队列...

  • Python实现队列,栈

    通过python设计实现队列以及栈,复习一下数据结构 队列:先进先出 class Stack(object):de...

  • 在Python中实现两个堆栈的队列

    在Python中实现两个堆栈的队列。数据结构了解堆栈和队列。然后用两个堆栈实现一个队列。堆栈和队列都是列表。但它们...

  • 8. Python3 中的数据结构

    Python更多的数据结构 集合(set) 堆(heap) 双向队列(double-ended queue) 在P...

  • Python爬虫必须理解队列

    队列是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列...

  • 队列

    队列一个重要的数据结构,也比较简单。python内置了队列的实现,十分好用,下面就是一些例子: 后进先出队列,这个...

  • python3.6 queue模块

    python中的queue模块其实是对数据结构中栈和队列这种数据结构的封装,把抽象的数据结构封装成类的属性和方法。...

  • python数据结构-队列

    队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(fro...

  • 看图说话数据结构之二项队列(优先队列)——原理解析

    数据结构之二叉堆(优先队列)——原理解析,数据结构之二叉堆(优先队列)——java实现,数据结构之左式堆(优先队列...

  • MQ(message queue)

    是什么? 1.什么是队列? 队列是一种先进先出的数据结构。 数据结构 线性数据结构:常用的:线性表、栈、队列、串等...

网友评论

      本文标题:python数据结构-队列

      本文链接:https://www.haomeiwen.com/subject/snlfrxtx.html