队列

队列

队列

队列是一种先进先出的数据结构。可以比喻为在银行排队的人群,排在第一个的先办理业务,新来的人只能排队,直到轮到他为止。

队列的两种主要操作:向队列中插入新元素和删除队列中的元素。插入操作也叫入队,删除操作叫出队。入队操作是在队尾插入新元素,出队操作删除队头的元素。

队列的通常操作:

Queue()        定义一个空队列,无参数,返回值是空队列。
enqueue(item)  在队列尾部加入一个数据项,参数是数据项,无返回值。
dequeue()      删除队列头部的数据项,不需要参数,返回值是被删除的数据,队列本身有变化。
isEmpty()      检测队列是否为空。无参数,返回布尔值。
size()         返回队列数据项的数量。无参数,返回一个整数。

队列操作举例

代码实现

# -*- coding:utf-8 -*-

class Queue:
    def __init__(self):
        self.items = [] #空队列

    def isEmpty(self):
        return self.items == []

    def enqueue(self,item):    #在队尾插入一个数据项
        return self.items.insert(0,item)

    def dequeue(self):
        return self.items.pop()   #删除队首一个元素

    def size(self):
        return len(self.items)

q = Queue()
print q.isEmpty()


q.enqueue('dog')
q.enqueue(4)
q.enqueue('True')
print q.dequeue()
print q.size()        

结果

True
dog
2      

参考

Python数据结构——队列