若用一个大小为6的数组来实现循环队列(只能在front删除元素,在rear添加元素),且当前front和rear的值分别为0和4,当从队列中删除一个元素,再加入两个元素后,front和rear的值分别为________。
时间: 2024-02-24 16:58:48 浏览: 47
当前front和rear的值为0和4,因此该循环队列中已经有4个元素,如下所示:
```
[ , , , , , ]
↑ ↑
front rear
```
接下来从队列中删除一个元素,如下所示:
```
[ , , , , , ]
↑ ↑
front rear
```
再加入两个元素,如下所示:
```
[a, b, , , c, d]
↑ ↑
front rear
```
因此,当前front和rear的值分别为2和5。注意,这里的下标从0开始计数。
相关问题
若用一个大小为6的数组来实现循环队列,且当前 rear和 front 的值分别为0和 3,当从队列中删除一个元素,再加入两个元素后,rear 和 front 的值分别为多少?
初始状态下,数组为 [ , , , , , ],rear = 0,front = 3。
删除一个元素后,数组变为 [ , , , , , ],队列为空,rear = 0,front = 4。
加入两个元素后,数组变为 [2, 3, 4, , , 1],队列为 [1, 2, 3, 4],rear = 2,front = 4。
因此,删除一个元素,再加入两个元素后,rear为2,front为4。
若用一个大小为6 的数组来实现循环队列,且当前rear 和front 的值分别为0 和3,当从队列中删除一个元素,再加入两个元素后,rear 和front 的值分别为多少?
当前rear和front的值分别为0和3,说明队列中已经有3个元素。根据循环队列的特性,当队列满时,rear的下一个位置就是front,即rear+1=front。因为数组大小为6,所以队列最多只能容纳5个元素。
当从队列中删除一个元素后,front的值加1,变为4,队列中还剩下2个元素。
再加入两个元素后,rear的值加2,变为2,front的值还是4。此时队列中有3个元素,队列已满。
因为rear+1=front,所以rear的下一个位置就是数组的下标为4的位置,即rear=4。但因为数组大小为6,所以实际上rear的位置应该是0,因此rear的值应该变为0。
综上所述,删除一个元素并加入两个元素后,rear和front的值分别为0和4。
阅读全文