PUERTA | Sudo GATE 2020 Mock I (27 de diciembre de 2019) | Pregunta 35

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

Deja una respuesta

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