循环队列存储在数组A[0..m]中,则入队时的操作为(C )。 A. rear=rear+1 B. rear=(rear+1)%(m-1) C. rear=(rear+1)%m D. rear=(rear+1)%(m+1)
时间: 2024-02-03 17:04:12 浏览: 48
答案是C. rear=(rear+1)%m。
循环队列需要在数组的首尾相接处进行操作,因此需要一个rear指针来指向队尾。入队时,rear指针需要向后移动一位,但是当rear指针已经到达数组末尾时,需要将其指向数组头部,即实现循环。因此,rear=(rear+1)%m可以保证rear指针始终在0到m-1的范围内循环。
相关问题
若循环队列 Q 存储在数组 queue[0..n]中,front 是队首位置,rear 是队尾位置(初始 rear=front=0),则元素 e 入队的操作是( )。 A.Q.queue[Q.rear]=e; Q.rear=(Q.rear+1)%n; B.Q.queue[Q.rear]=e; Q.rear=(Q.rear+1)%(n+1); C.Q.rear=(Q.rear+1)%n; Q.queue[Q.rear]=e; D.Q.rear=(Q.rear+1)%(n+1); Q.queue[Q.rear]=e;
元素 e 入队的操作应该是 A.Q.queue[Q.rear]=e; Q.rear=(Q.rear+1)%n;。这是因为循环队列需要满足如下两个条件:
- 队列为空时,front = rear;
- 队列满时,(rear + 1) % n = front。
因此,入队操作需要分两步进行:
- 将元素 e 存储到队列中的 rear 位置,即 Q.queue[Q.rear]=e;
- 将 rear 指向下一个可用位置,即 Q.rear=(Q.rear+1)%n。
其他选项的操作有误:
- B.Q.queue[Q.rear]=e; Q.rear=(Q.rear+1)%(n+1); 中的 (n+1) 是错误的,应该是 n;
- C.Q.rear=(Q.rear+1)%n; Q.queue[Q.rear]=e; 中的顺序颠倒了,应该先存储元素 e,再将 rear 指向下一个可用位置;
- D.Q.rear=(Q.rear+1)%(n+1); Q.queue[Q.rear]=e; 中的 (n+1) 是错误的,应该是 n。
设循环队列的容量为50(1—50)经过入队退队运算有front=26rear=15。问队列中有多少元素?...
根据给出的信息,可以知道队列的队尾 rear 在队首 front 的左侧,即 rear < front。因此,队列中元素的个数为 rear + 容量 - front。
将容量 50 带入公式,即可计算出队列中元素的个数:
rear + 容量 - front = 15 + 50 - 26 = 39
因此,队列中有 39 个元素。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)