在顺序的循环队列中,出队时,Front指针要加1后对最大队长Size取余与元素离开队列的先后顺序是怎样的?入队时,Rear指针加1后对最大对长Size取余与元素进入队列的顺序又是怎样的?
因为本人在两本书上看到了两种不同的顺序,就Front来说:
代码(1)如下:
Queue->front=(Queue->front+1)%SIZE;
Queue->Elem[Queue->fornt]=element;
代码(2)如下:
Queue->Elem[Queue->front]=element;
Queue->front=(Queue->front+1)%SIZE;
个人认为代码(2)是对的,但理不清思路,求高手帮忙说明清楚。
这两种顺序都可以是对的,不过Queue->front的含义在这两种代码中不太一样。
在代码(1)中,Queue->front表示的是当前最后一个已经出队的元素
在代码(2)中,Queue->front表示的是当前正要出队却还没有出队的元素
我想了一下,确实是这样子的,谢谢了。