# Data Structures | Linked List | Question 11

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 (GATE CS 2003)

(A) not all elements in the list have the same data value.
(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) None of them

Explanation:
The function f() works as follows
1) If linked list is empty return 1
2) Else If linked list has only one element return 1
3) Else if node->data is smaller than equal to node->next->data and same thing holds for rest of the list then return 1
4) Else return 0

Quiz of this Question

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :

1

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.