Lo siguiente es C como un pseudocódigo de una función que toma una cola como argumento y usa una pila S para realizar el procesamiento.
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)); } }
¿Qué hace la función anterior en general?
(A) Elimina el último de Q
(B) Mantiene el Q igual que antes de la llamada
(C) Hace que Q esté vacío
(D) Invierte el Q
Respuesta: (D)
Explicación: La función toma una cola Q como argumento. Saca todos los elementos de Q y los empuja a una pila S. Luego saca todos los elementos de S y los vuelve a poner en cola en Q. Dado que la pila tiene un orden LIFO, todos los elementos de la cola se invierten.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA