Considere que la siguiente función de C toma una lista de enlaces simples como argumento de entrada.
typedef struct node { int value; struct node * next; } Node; Node * modify_list(Node * head) { Node * p, * q; if ((head == NULL || (head-> next == NULL)) return head; q = NULL; p = head; while (p-> next-> next != NULL) { q = p; p = p -> next; } q -> next = p -> next; p -> next = head; head = p; return head; }
Modifica la lista
(A) moviendo el último elemento al frente de la lista y devuelve la lista modificada.
(B) moviendo el penúltimo elemento al frente de la lista y devuelve la lista modificada.
(C) moviendo el primer elemento al penúltimo de la lista y devuelve la lista modificada.
(D) moviendo el primer elemento al último de la lista y devuelve la lista modificada.
Respuesta: (B)
Explicación: la función modify_list(Node * head) modifica la lista moviendo el penúltimo elemento al frente de la lista y devuelve la lista modificada.
La opción (B) es correcta.
Cuestionario de esta pregunta
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