【习题3-2】设一维数组elem[maxSize]存放循环队列的元素...
【习题3-2】设一维数组elem[maxSize]存放循环队列的元素,同时以rear和length分别指示循环队列中的队尾位置和队列中所含元素的个数。下面算法的功能是:插入(EnQueue)和删除(DeQueue)元素的操作。请在空白处填入正确的语句。//设该循环队列的结构定义为 #define maxSize 100 typedef int ElemType; typedef struct { //循环队列的结构定义 ElemType elem[maxSize]; //队列存储数组 int rear, length; //队列的队尾指针和队列长度。rear是实际的队尾位置。 } CircQueue; int EnQueue(CircQueue &Q, ElemType x) { //元素x存放到队列尾部。若进队列成功,函数返回true,否则返回false。 if(___________①_____________) return flase; //判队列是否不满,满则出错 Q.rear = __________②__________; //队尾指针进1 _________③__________; //进队列 _________④__________; //队列长度加1 return true; } int DeQueue(CircQueue &Q, ElemType &x) { //从队列队头退出元素由x返回。若退队列成功,函数返回true,否则返回false。 if(__________⑤__________) return false; //判断队列是否不空,空则出错 Q.length--; //队列长度减1 x = elem[(Q.rear - Q.length + 1 + maxSize) % maxSize]; //返回原队头元素值 return true; }