首页 > 试题广场 >

若用一个大小为 6 的数组来实现循环队列,且当 rear 和

[单选题]
若用一个大小为 6 的数组来实现循环队列,且当 rear 和 front 的值分别为 0 和 3 。当从队列中删除一个元素,再加入两个元素后,rear 和 front 的值分别为 。
  • 1和5
  • 2和4
  • 4和2
  • 5和1
1、队列添加元素是在对尾,删除元素是在对头;
2、添加元素,尾指针rear+1;删除元素,头指针front+1;
3、本题中,删除一个元素,front+1,也就是3+1=4;添加2个元素,rear+2,也就是0+2=2;
4、选 B’
发表于 2017-05-14 14:37:52 回复(4)
看反了...
发表于 2017-05-15 19:37:06 回复(23)
发表于 2017-06-07 20:19:43 回复(8)
发表于 2018-08-08 15:59:26 回复(1)
删几front加几,增几rear加几(画个图会很快理解)
发表于 2021-05-28 08:47:33 回复(0)
发表于 2019-09-06 20:24:25 回复(1)
添加和删除元素都是加法,删除元素front加,增加元素rear加
发表于 2022-03-06 18:33:21 回复(0)
有木有大神解析一下
发表于 2017-05-14 12:44:37 回复(0)
进队和出队都加
发表于 2022-09-04 00:40:26 回复(0)
front 是队头,rear是队尾..
发表于 2018-07-08 00:56:13 回复(0)
因为队列的删除操作在队头,队列的添加操作在队尾,所以当删除一个元素时,front+1=4;当加入两个元素后,rear+2=2
发表于 2018-05-07 17:13:28 回复(0)
front/rear =(front/rear+1)%Queue_size; front队头,删除元素 rear队尾,添加元素(队列问题,排队)
发表于 2024-04-05 16:31:21 回复(0)
原始队列:
0 1 2 3 4 5
r        f  x x

队头删除一个元素,f+1
队尾添加两个元素,r+2

移动后:
0 1 2 3 4 5
x x  r    f  x
编辑于 2024-03-12 15:07:32 回复(0)
循环队列的特性:
  • rear 表示队列的尾部,即最后一个元素的位置。
  • front 表示队列的头部,即第一个元素的位置。
  • 当删除一个元素时,front 应该向后移动一个位置。
  • 当加入一个元素时,rear 应该向后移动一个位置。
根据这些特性,让我们按顺序执行操作:
  1. 初始时,rear 为 0,front 为 3。
  2. 删除一个元素后,front 向后移动一个位置,现在 front 为 4。
  3. 然后,加入一个元素,rear 向后移动一个位置,现在 rear 为 1。
  4. 再加入一个元素,rear 再次向后移动一个位置,现在 rear 为 2。
所以,最终的结果是 rear 为 2,front 为 4。
发表于 2023-09-06 22:49:22 回复(0)
注意,队列的起点永远是从front开始,所以真正的队列不是0--3,而是3--0,四个元素。删除从队头删,理解为向队尾靠近一个位置,就是加一,然后入队二就是往后+2
发表于 2023-08-15 13:51:20 回复(0)
我选的A😅,队列是头删尾加的呀
发表于 2022-08-31 20:34:26 回复(0)
都忘了循环队列怎么定义的了。

对头出队,出完队front++;
队尾入队,入队完rear++;
发表于 2022-08-31 15:33:27 回复(0)
普通队列里,入队则尾指针增1,出队则头指针增1。循环队列里,入队则(front+1)%maxsize,出队则(rear+1)%maxsize
编辑于 2022-08-08 12:17:08 回复(1)
尾进头出
发表于 2022-07-13 17:02:07 回复(0)
添加元素,尾指针rear+1;删除元素,头指针front+1;
发表于 2021-03-04 14:01:56 回复(0)