以下函数通常有什么作用?
void fun(Queue *Q)
{
Stack S; // Say it creates an empty stack S
// Run while Q is not empty
while (!isEmpty(Q))
{
// deQueue an item from Q and
// push the dequeued item to S
push(&S, deQueue(Q));
}
// Run while Stack S is not empty
while (!isEmpty(&S))
{
// Pop an item from S and enqueue
// the poppped item to Q
enQueue(Q, pop(&S));
}
}
(A)从队列中删除最后一个元素Q
(B)保持队列Q与通话前相同
(C)使队列Q为空
(D)倒退队列Q答案: (D)
说明:该函数将队列Q作为参数。它使Q的所有项目出队,并将它们推入堆栈S。然后弹出S的所有项目,并将这些项目排队回到Q。由于堆栈是LIFO顺序,因此队列中的所有项目都被颠倒。
这个问题的测验
如果您在以上帖子中发现任何错误,请在下面发表评论