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