class QueueNode:
def init(self):
self.data=None
self.next=None
class LinkQueue:
def init(self):
TQueueNode=QueueNode()
self.front=TQueueNode
self.rear=TQueueNode
def InitQueue(self):
TQueueNode=QueueNode()
self.front=TQueueNode
self.rear=TQueueNode
def IsEmptyQueue(self):
if self.front==self.rear:
iQueue=True
else:
iQueue=False
return iQueue
def QueneVisit(self,element):
print(element,end=' ')
def EnQueue(self,data):
TQueueNode=QueueNode()
TQueueNode.data=data
self.rear.next=TQueueNode
self.rear=TQueueNode
def DeQueue(self):
if self.IsEmptyQueue():
print("队列为空 ")
return
else:
TQueueNode=self.front.next
self.front.next=TQueueNode.next
if self.rear==TQueueNode:
self.rear=self.front
return TQueueNode.data
def GetHead(self):
if self.IsEmptyQueue():
print("队列为空,无法输出队首元素")
return
else:
return self.front.next.data
def QueueTraverse(self):
if self.IsEmptyQueue():
print("队列为空 ")
return
else:
TQueueNode=self.front.next
while TQueueNode!=None:
self.QueueVisit(TQueueNode.data)
TQueueNode=TQueueNode.next
def GetQueueLength(self):
if self.IsEmptyQueue():
print("队列为空 ")
return
else:
return self.rear-self.front
class LinkQueue:
def PrPrintOut(self):
print("(1) 经判断当前队列 ",end=' ')
if self.IsEmptyQueue()==True:
print("为空 ")
else:
print("不为空 ")
self.EnQueue(1)
self.EnQueue(2)
self.EnQueue(3)
self.EnQueue(4)
self.EnQueue(5)
print("\n(2) 元素 ",end='')
self.QueueTraverse()
print("依次进队 ",end='')
print("\n (3) 当前队头元素为 ",end='')
print(self.GetHead())
print("\n (4) 当前队列中共有 ",end='')
print(self.GetQueueLength(),end='')
print("个元素,分别为 ",end='')
self.QueueTraverse()
print("\n(5)元素 ",self.GetHead(),"出队,当前队列中的元素为: ",end='')
self.DeQueue()
self.QueueTraverse()
print("\n(6)元素 ",self.GetHead(),"出队,当前队列中的元素为: ",end='')
self.DeQueue()
self.QueueTraverse()
print("\n(7)元素 ",self.GetHead(),"出队,当前队列中的元素为: ",end='')
self.DeQueue()
self.QueueTraverse()
print("\n(8)元素 ",self.GetHead(),"出队,当前队列中的元素为: ",end='')
self.DeQueue()
self.QueueTraverse()
print("\n(9)元素 ",self.GetHead(),"出队,当前队列中的元素为: ",end='')
self.DeQueue()
self.QueueTraverse()
if name=='main':
LQ = LinkQueue()
LQ.PrPrintOut()********
把报错信息贴出来啊,要不然没法看啊