# encoding=utf-8
#定义节点类
class Node(object):
def __init__(self,val):
self.val = val
self.next = None
#定义队列类
class Queue(object):
def __init__(self):
self.first = None
self.last = None
#进队列
def enQueue(self,n):
packNode = Node(n)
if self.first == None:
self.first = packNode
self.last = packNode
else:
self.last.next = packNode
self.last = packNode
#出队列
def deQueue(self):
if self.first == None:
return None
else:
tmp = self.first.val
self.first = self.first.next
if self.first == None:
self.last = None
return tmp
#全出队列
def deQueueAll(self):
retList = []
while self.first != None:
retList.append(self.first.val)
self.first = self.first.next
if self.first == None:
self.last = None
return retList
#查看队列内容
def getall(self):
node = self.first
all = []
while node:
all.append(node.val)
node = node.next
return all
if __name__ == '__main__':
q = Queue()
q.enQueue(1)
q.enQueue(2)
q.enQueue(3)
print(q.getall())
q.enQueue(4)
print(q.getall())
q.deQueue()
print(q.getall())