若用一个大小为6的数组来实现循环队列,且当前rear和fornt的值分别为0和3。从当前队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。 A. 1和5 B. 2和4 C. 4和2 D. 5和1
时间: 2023-06-10 12:09:08 浏览: 142
当前rear和front的值分别为0和3,说明队列中已经有3个元素了。删除一个元素,即把front向后移动一位,变为4。加入两个元素后,rear向后移动两位,变为2,front不变,仍为4。此时队列元素个数为4,队列已满,再加入一个元素会导致队列溢出,因此选项D. 5和1是不可能的,正确答案是C. 4和2。
相关问题
若用一个大小为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的值分别为多少?
循环队列使用数组实现时,需要设置一个指针front和一个指针rear来分别指向队头和队尾。因为是循环队列,所以队尾指针rear在到达数组的末尾时需要回到数组的开头。
当前rear和front的值分别为0和3,即队列中已经有3个元素。
删除一个元素后,队列中还剩2个元素,同时front指针向后移动一位,变为4。
接着加入两个元素,队列中又有4个元素了,rear指针应该指向数组的第2个位置,即rear=2。
最终rear和front的值分别为rear=2,front=4。
阅读全文