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