若用一个大小为6的一维数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是()
A. 1和5
B. 2和4
C. 4和2
D. 5和1
查看答案
经过以下栈运算后e的值是( )。InitStack(s);Push(s,a);Push(b);Pop(s,e);GetTop(s,e);
A. 1
B. 0
C. a
D. b
经过以下队列运算后QueueEmpty(qu)的值是( )。InitQueue(qu);EnQueue(qu,a);EnQueue(qu,b);DeQueue(qu,e);DeQueue(qu,e);
A. a
B. b
C. false
D. true
简述以下算法的步骤与功能(栈st和队列qu的元素类型均为ElemType)。Bool fun(SqQueue *&qu,int i){ ElemType e;Int j=1;Int n=(qu->rear-qu->front+MaxSize)%MaxSize;If(j<1 || j>n) return false;For(j=1;j<=n;j++){ DeQueue(qu,e);If(j!=i)EnQueue(qu,e);}Return true;}
简述以下算法的步骤和算法的功能(栈的元素类型为int)。void fun(SqStack *&st){int i,j=0,A[MaxSize];while (!StackEmpty(st)){Pop(S,A[j]);j++;}for(i=0;i