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
Answer: (B)
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
Please Login to comment...