Skip to content
Related Articles
Open in App
Not now

Related Articles

Data Structures | Linked List | Question 11

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 14 Jul, 2019
Improve Article
Save Article

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)

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
Related Articles

Start Your Coding Journey Now!