Estructuras de datos | Lista vinculada | Pregunta 11

Considere la función f definida a continuación.

struct item 
{ 
  int data; 
  struct item * next; 
}; 
  
int f(struct item *p) 
{ 
  return (
          (p == NULL) || 
          (p->next == NULL) || 
          (( P->data <= p->next->data) && f(p->next))
         ); 
} 

Para una lista enlazada dada p, la función f devuelve 1 si y solo si (GATE CS 2003)

(A) no todos los elementos de la lista tienen el mismo valor de datos.
(B) los elementos de la lista están ordenados en orden no decreciente de valor de datos
(C) los elementos de la lista están ordenados en orden no creciente de valor de datos
(D) Ninguno de ellos

Respuesta: (B)
Explicación:
El la función f() funciona de la siguiente manera
1) Si la lista enlazada está vacía, devuelve 1
2) De lo contrario, si la lista enlazada tiene solo un elemento, devuelve 1
3) De lo contrario, si el Node->datos es menor que igual al Node->siguiente->datos y lo mismo la cosa se mantiene para el resto de la lista y luego devuelve 1
4) De lo contrario, devuelve 0
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 *