# -*-coding: utf-8 -*-
# Author :writen by Qiusheng Li
# Time: 2014/08/16
# Email:liqiusheng_123@hotmail.com
# enqueue Insert an item at the back of the queue
# dequeue Remove an item from the front of the queue
# peek/front Retrieve an item at front of the queue without removing it
# empty/size Check whether the queue is empty or return its size
# using list impliment the Queue
class Queue(object):
'''a class of Queue'''
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def enqueue(self, value):
self.items.insert(0,value)# insert value before index(0)
def peek(self):
if not self.isEmpty():
return self.items[-1]
else:
raise Exception("Queue is empty")
def dequeue(self):
return self.items.pop() # remove and return item at index(default last).
# Raises IndexError if list is empty or index is out of range
# without writing if code
def size(self):
return len(self.items)
def QueueMain():
queue = Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
print 'size or empty: ',queue.size()
print 'peek: ',queue.peek()
print 'dequeue: ',queue.dequeue()
print 'size or empty: ',queue.size()
''' testinng result
size or empty: 3
peek: 1
dequeue: 1
size or empty: 2
'''
if __name__ == '__main__':
QueueMain()
Queue python
最新推荐文章于 2024-06-23 15:24:01 发布