写出以下程序段的输出结果:
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);
}
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);
}
举一反三
- 已知队列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); } }
- 阅读算法f2,并回答下列问题: 设队列Q=(1,3,5,2,4,6)。写出执行算法f2后的队列Q; Void f2(Queue *Q){ DataType e; if(!Queue Empty(Q)){ e=DeQueue(Q); f2(Q); EnQueue(Q,e); } }
- Status SymmetryString(char* p){ Queue q; if(!InitQueue(q)) return 0; Stack s; InitStack(s); ElemType e1,e2; while(*p){ Push(s,*p); EnQueue(q,*p); p++; } while(!StackEmpty(s)){ ( ) DeQueue(q,e2); if(e1!=e2) return FALSE; } return OK;}
- 【简答题】简述以下算法的功能(栈和队列的元素类型均为int)。 void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)) { DeQueue(Q, d); Push(S, d); } while(!StackEmpty(S)) { Pop(S, d); EnQueue(Q, d); } }
- 设R(x):x是兔子,T(y):y是乌龟,Q(x , y):x比y跑得快,命题“兔子比乌龟跑得快”符号化为( )。 A: ∀x(R(x)→Q(x,y)) B: ∀x(R(x)→∃y ( T(y) ∧Q(x,y) ) ) C: ∀x∃y (R(x) ∧ T(y) ∧Q(x,y) ) D: ∀x∀y (R(x) ∧ T(y) →Q(x,y) )