若用一个容量为6的数组来实现循环队列,且当前的队尾指针rear和队头指针front的值分别为4和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )
时间: 2024-05-09 09:15:12 浏览: 72
当前队列的情况如下图所示:
```
0 1 2 3 4 5
---------------------
a b c d e
front rear
```
其中,front指向元素d,rear指向元素e。删除一个元素后,队列情况如下:
```
0 1 2 3 4 5
---------------------
a c d e
front rear
```
再加入两个元素后,队列情况如下:
```
0 1 2 3 4 5
---------------------
a f g d e
front rear
```
因此,答案是front为2,rear为5。
相关问题
8. 若用一个大小为6的数组来实现环形队列,队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置。若当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为
当前rear和front的值分别为0和3,说明队列中已经存在3个元素,其中包括rear所指向的元素。若从队列中删除一个元素,则队头指针front向后移动一位,指向原来队头元素的位置,即front=1;如果再加入两个元素,则队尾指针rear向后移动两位,指向新的队尾位置,即rear=5。此时队列中共有4个元素,其下标分别为1、2、3、4,队头指针和队尾指针的值分别为front=1、rear=5。
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?
循环队列使用数组实现时,需要设置一个指针front和一个指针rear来分别指向队头和队尾。因为是循环队列,所以队尾指针rear在到达数组的末尾时需要回到数组的开头。
当前rear和front的值分别为0和3,即队列中已经有3个元素。
删除一个元素后,队列中还剩2个元素,同时front指针向后移动一位,变为4。
接着加入两个元素,队列中又有4个元素了,rear指针应该指向数组的第2个位置,即rear=2。
最终rear和front的值分别为rear=2,front=4。
阅读全文