下列程序段中队列CirQueue和栈SeqStack中的数据元素均为int型,请指出该程序段的功能是什么。void f30(Ci

下列程序段中队列CirQueue和栈SeqStack中的数据元素均为int型,请指出该程序段的功能是什么。
void f30(CirQueue *Q)
{int x,y=3;SeqStack S;
InitStack(&S); //初始化栈S
while(!QueueEmpty(Q)){
x=DeQueue(Q);x=x*y;Push(&S,x);
}
while(!StackEmpty(&S)){
x=Pop(&S);EnQueue(Q,x);EnQueue(Q,x);}
}
}
【正确答案】:(1)当队列不空时,依次出队列中的数据元素,放大3倍后依次压栈。
(2)再将栈中元素依次出栈,出栈的元素2次入队列,直到栈空时为止。