为什么front =rear时,栈内为空?希望有人可以帮我详细解答一下!!!

1 front表示的意思是队头元素的前一个位置。

2 rear表示的意思是队尾元素所在的位置。

3 maxSize表示的意思是所储存元素的个数。

4 front=rear 表示的意思是队列为空。

5 rear=maxSize 表示的意思是队列已满。

但是我看不懂第四条,我希望要具体的解释(这个问题有点傻逼)!!!

随着元素的出栈,队尾前移,rear也会先前移动,当栈中只有一个元素的时候rear指向栈中的第一个元素,如果这时候再执行出栈操作,rear也会向前移动一位,从而指向队头元素的前一个位置也就是front。所以front=rear 表示的意思是队列为空。

front表示的意思是队头元素的前一个位置,你每次出栈都要把front指针往后移,当front的位置和rear相同时就是front==rear,也就是栈空了

我们一般学习的循环队列,front代表队头元素,rear代表队尾元素下一位,此时front=rear表示队空。第二种情况是,front代表队头元素,rear代表队尾元素,此时front=rear+1表示队空