首先,楼主要明白,front这个节点是不存储数据的,就是一个头节点,用来方便链路的处理
1.一开始队列是空的,front和rear是是同一个节点,front的next指向NULL
2.第一个元素入队,创建一个节点now,然后把rear的下一个节点设为now,然后把第一个元素设为rear
然后我们就要考虑两种情况了,1种是现在出队,另一种是继续加元素
(1)现在出队:
现在出队,那么队列中只有一个元素,具体节点的表示为:front节点 --> 第一个节点(rear节点)-->NULL
由于队列是先进先出,那么,我们可以利用这种思想,把front的下一个节点设为第一个节点的下一个节点,那么第一个节点就被略过了,也就是出队了,然后再把rear节
点=front,回到原来空队列(如果队列里只有一个节点的话,rear = front)
(2)继续加元素:
继续加元素,加第二个元素,那么具体的节点表示就是:front节点 --> 第一个节点 --> 第二个节点(rear)-->NULL
好,现在来出队,那么还是先进先出,只要把front的下一个节点设为第一个节点的下一个节点,那么第一个节点就出队了,然后继续,把front的下一个节点设为第二个节点的下一个节点,那么第二个节点就出队了
这就是所有的情况了,楼主如果还是不懂的话,我可以画图表示一下,或者提出哪里不懂