Estructuras de datos | Cola | Pregunta 1 – Part 1

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *