## Discussion Forum

Que. | Consider the function f defined below.
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)) ); } For a given linked list p, the function f returns 1 if and only if |

a. | the list is empty or has exactly one element |

b. | the elements in the list are sorted in non-decreasing order of data value |

c. | the elements in the list are sorted in non-increasing order of data value |

d. | not all elements in the list have the same data value |

Answer:the elements in the list are sorted in non-decreasing order of data value |