Consider the function f defined below. struct item { int data; struct item *…

GATE · 2003 · CS

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

  1. A.

    the list is empty or has exactly one element

  2. B.

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

  3. C.

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

  4. D.

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

Attempted by 381 students.

Sign up free to check your answer

Sign up free

Explore the full course: Gate Guidance By Sanchit Sir

Loading lesson…