队列
队列
队列是一种先进先出的数据结构。可以比喻为在银行排队的人群,排在第一个的先办理业务,新来的人只能排队,直到轮到他为止。
队列的两种主要操作:向队列中插入新元素和删除队列中的元素。插入操作也叫入队,删除操作叫出队。入队操作是在队尾插入新元素,出队操作删除队头的元素。
队列的通常操作:
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