若链队列的队头指针和队尾指针分别为front和rear,则从队列中删除一个节点的操作是( )
A. p=front;rear=p->next;free(p);
B. p=rear;front=p; free(p);
C. p=front; front=p->next;free(p);
D. p=rear;front=p->next;free(p)
查看答案
若用一个大小为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;}