已知循环队列存储在一维数组A[0n]中,且队列非空时front和rear分别指向队首元素和队尾元素。若初始队列为空,且要求第一个进入队列的元素存储在A[0]处,则初始时front和rear的值分别时()。
A.0,0
B.0,n-1
C.n-1,0
D.n-1,n-1
A.0,0
B.0,n-1
C.n-1,0
D.n-1,n-1
A.0,0
B.0,n-1
C.n-1,0
D.n-1,n-1
A.0,0
B.0,n-1
C.n-1,0
D.n-1,n-1
A.0,0
B.0,n-1
C.n-1,0
D.n-1,n-1
A.0,0
B.0,n—1
C.n一1,0
D.n一1,n一1
A.data数组中下标从4到15的位置存储的是队列元素
B.data数组中下标从5到14的位置存储的是队列元素
C.该循环队列当前存储的队列元素个数是11个
D.该循环队列当前存储的队列元素个数是10个
【Test-3-2】设一维数组elem[maxSize]存放循环队列的元素,同时以rear和length分别指示循环队列中的队尾位置和队列中所含元素的个数。下面算法的功能是:插入(EnQueue)和删除(DeQueue)元素的操作。请在空白处填入正确的语句。(每空4分) //设该循环队列的结构定义为 #define maxSize 100 typedef int ElemType; typedef struct { //循环队列的结构定义 ElemType elem[maxSize]; //队列存储数组 int rear, length; //队列的队尾指针和队列长度。rear是实际的队尾位置。 } CircQueue; //设该循环队列的结构定义为 #define maxSize 100 typedef int ElemType; typedef struct { //循环队列的结构定义 ElemType elem[maxSize]; //队列存储数组 int rear, length; //队列的队尾指针和队列长度 } CircQueue; //rear是实际的队尾位置。其队空条件和队满条件分别为Q.length == 0和Q.length == maxSize。 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; }
A.Q[4]
B.Q[5]
C.Q[14]
D.Q[15]
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!