📜  算法测验| SP竞赛3 |问题4

📅  最后修改于: 2021-07-02 16:11:43             🧑  作者: Mango

以下函数通常有什么作用?

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顺序,因此队列中的所有项目都被颠倒。
这个问题的测验
如果您在以上帖子中发现任何错误,请在下面发表评论