node.py
class Node(object): """队列链表的结点""" def __init__(self, item): # item存放数据元素 self.item = item # next是下一个节点的标识 self.next = None
queueTest1.py
from queueTest.node import Node class queuqTest: def __init__(self): self.head=None self.tail=None def push(self,num): newNode=Node(num) cur=self.head if cur ==None: self.head=newNode self.tail=newNode else: while cur.next!=None: cur=cur.next cur.next=newNode self.tail = newNode def pop(self): cur = self.head if cur==None: print("队列为空,无法出队列") else: a=self.head self.head=cur.next return a def items(self): """遍历链表""" # 获取head指针 cur = self.head # 循环遍历 while cur is not None: # 返回生成器 yield cur.item # 指针下移 cur = cur.next if __name__ == '__main__': QueueTest=queuqTest() QueueTest.push(4) QueueTest.push(3) QueueTest.push(2) QueueTest.push(1) for i in QueueTest.items(): print(i, end='\t') print(QueueTest.pop()) for i in QueueTest.items(): print(i, end='\t')