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