Estructuras de datos | Lista vinculada | Pregunta 3

Considere la siguiente función que toma como parámetro la cabecera de una lista doblemente enlazada. Suponga que un Node de una lista doblemente enlazada tiene un puntero anterior como anterior y un puntero siguiente como siguiente .

void fun(struct node **head_ref)
{
    struct node *temp = NULL;
    struct node *current = *head_ref;
  
    while (current !=  NULL)
    {
        temp = current->prev;
        current->prev = current->next;
        current->next = temp;
        current = current->prev;
    }
  
    if(temp != NULL )
        *head_ref = temp->prev;
}

Suponga que la referencia del encabezado de la siguiente lista doblemente enlazada se pasa a la función anterior

1 2 3 4 5 6.

¿Cuál debería ser la lista vinculada modificada después de la llamada a la función?
(A) 2 1 4 3 6 5
(B) 5 4 3 2 1 6.
(C) 6 5 4 3 2 1.
(D) 6 5 4 3 1 2

Respuesta: (C)
Explicación: La función dada invierte el dada una lista doblemente enlazada. Consulte Invertir una lista doblemente enlazada para obtener más información.

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 *