程序填空题:循环队列
已知循环队列的结构定义如下:
```c
typedef struct
{
int size, front, rear;
int *element;
} AQUEUE;
```
说明:`element` 为存储队列数据元素的动态数组,`size` 为动态数组的尺寸,`front` 为队首元素的下标,`rear` 为队尾元素下一位置的下标。
假设有以下定义:
```c
AQUEUE *queue;
```
判断 queue 所指队列为空的条件是:@@[queue->front == queue->rear](1);
判断 queue 所指队列为满的条件是:@@[(queue->rear + 1) % queue->size == queue->front](1);
queue 所指队列的长度是:@@[(queue->rear - queue->front + queue->size) % queue->size](1)。
---
注:请填写正确的C表达式,以便于检查答案是否正确。
答案:
第1空:queue->front == queue->rear
第2空:(queue->rear + 1) % queue->size == queue->front
第3空:(queue->rear - queue->front + queue->size) % queue->size
```c
typedef struct
{
int size, front, rear;
int *element;
} AQUEUE;
```
说明:`element` 为存储队列数据元素的动态数组,`size` 为动态数组的尺寸,`front` 为队首元素的下标,`rear` 为队尾元素下一位置的下标。
假设有以下定义:
```c
AQUEUE *queue;
```
判断 queue 所指队列为空的条件是:@@[queue->front == queue->rear](1);
判断 queue 所指队列为满的条件是:@@[(queue->rear + 1) % queue->size == queue->front](1);
queue 所指队列的长度是:@@[(queue->rear - queue->front + queue->size) % queue->size](1)。
---
注:请填写正确的C表达式,以便于检查答案是否正确。
答案:
第1空:queue->front == queue->rear
第2空:(queue->rear + 1) % queue->size == queue->front
第3空:(queue->rear - queue->front + queue->size) % queue->size