对列:先来的先走,后来的后走 FIFO
实现FIFO的实现数据结构:
arroy list linkedlist doubllinkedlist
最基本的操作,push入列 pop出列
单链表实现 append popleft
class FullError(Exception):
pass
class EmptyError(Exception):
pass
class Queue(object):
def __init__(self,maxsize = None):
self.maxsize = maxsize
self._itme_linked_list = Linkes()
def __len__(self):
return len(self._itme_linked_list)
def pash(self,value):
if self.maxsize is not None and len(self._itme_linked_list) >= self.maxsize:
raise FullError('queue full')
return self._itme_linked_list.append(value)
def pop(self):
if len(self) <= 0:
return EmptyError('queue Empty')
return self._itme_linked_list.appleft()