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 364 students.

Show answer

Correct answer: B

The worked solution is available to enrolled students.

Video solution available to enrolled students.

Explore the full course: Iocl Engineers Officers Grade A Paper 2

Loading lesson…