【填空题】经过下列运算后,队头的元素是 。 InitQueue(qu); Enqueue(qu, ‘a’); EnQueue(qu, ‘b’); EnQueue(qu, ‘c’); DeQueue(qu); (其中,Enqueue为入队操作,EnQueue为出队操作)
举一反三
- 经过下列运算后,队头的元素是 _______。 InitQueue(qu); Enqueue(qu, ‘a’); EnQueue(qu, ‘b’); EnQueue(qu, ‘c’); DeQueue(qu)
- 写出以下程序段的输出结果: voidmain() { SqQueueQ; InitQueue(&Q); charx='e',y='c'; EnQueue(&Q,'h');EnQueue(&Q,'r'); EnQueue(&Q,y);DeQueue(&Q,&x); EnQueue(&Q,x);DeQueue(&Q,&x); EnQueue(&Q,'a'); while(!QueueEmpty(&Q)) { DeQueue(&Q,&y); printf(y); } printf(x); }
- 简述以下算法的功能(栈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; }
- 已知队列Q中存放数据(1,-2,3,-4,5,-6),其中1为队头,执行下面程序段之后,队列Q1和Q2中结果为()。 void fun(CirQueue*Q, CirQueue *Q1, CirQueue *Q2) { int e; InitQueue(Q1); InitQueue(Q2); while (!QueueEmpty(Q)) { e=DeQueue(Q); if(e>=0) EnQueue(Q1,e); else EnQueue(Q2,e); } }
- 已知其头尾指针分别是front和rear,判定一个循环队列QU(最多元素为m)为空的条件是() A: QU—>front= =QU—>rear B: QU—>front!=QU—>rear C: QU—>front= =(QU—>rear+1)%m D: QU—>front!=(QU—>rear+1)%m