python队列的实现,要实现队列或者其他数据结构,首先要搞明白原理,这样才会从根本上理解数据结构和算法
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author:Richard_Kong
"""
队列:只许一端进行插入操作,另一端进行删除操作的线性表
队列是一种先进先出的线性表,简称FIFO,允许插入的为尾端,允许删除的为头端,那么a1就是队头,an就是队尾
同堆栈一样 队列也可以用顺序表实现
Queue() 创建一个空的队列
enqueue(item) 往队列中添加一个item元素
dequeue() 从队列头部删除一个元素
is_empty() 判断一个队列是否为空
size() 返回队列的大小
"""
class Queue(object):
def __init__(self):
self.items = []
def enqueue(self,item):
"""从头部插入"""
self.items.insert(0,item)
def is_empty(self):
return self.items == []
def dequeue(self):
"""出队列,从尾部删除元素"""
return self.items.pop()
def size(self):
return len(self.items)
if __name__ == '__main__':
queu = Queue()
queu.enqueue(20)
queu.enqueue(12)
queu.enqueue(34)
print(queu.size())
print(queu.is_empty())
print(queu.dequeue())
print(queu.size())