adplus-dvertising

Welcome to the Linked Lists MCQs Page

Dive deep into the fascinating world of Linked Lists with our comprehensive set of Multiple-Choice Questions (MCQs). This page is dedicated to exploring the fundamental concepts and intricacies of Linked Lists, a crucial aspect of Data Structures and Algorithms. In this section, you will encounter a diverse range of MCQs that cover various aspects of Linked Lists, from the basic principles to advanced topics. Each question is thoughtfully crafted to challenge your knowledge and deepen your understanding of this critical subcategory within Data Structures and Algorithms.

frame-decoration

Check out the MCQs below to embark on an enriching journey through Linked Lists. Test your knowledge, expand your horizons, and solidify your grasp on this vital area of Data Structures and Algorithms.

Note: Each MCQ comes with multiple answer choices. Select the most appropriate option and test your understanding of Linked Lists. You can click on an option to test your knowledge before viewing the solution for a MCQ. Happy learning!

Linked Lists MCQs | Page 12 of 17

Q111.
What does the following function do for a given Linked List with first node as head?
void fun1(struct node* head)
{
    if(head == NULL)
    return;
    fun1(head->next);
    printf("%d  ", head->data);
}
Discuss
Answer: (b).Prints all nodes of linked list in reverse order
Q112.
The following function reverse() is supposed to reverse a singly linked list. There is one line missing at the end of the function.What should be added in place of “/*ADD A STATEMENT HERE*/”, so that the function correctly reverses a linked list.
/* Link list node */
struct node
{
    int data;
    struct node* next;
};
 
/* head_ref is a double pointer which points to head (or start) pointer 
  of linked list */
static void reverse(struct node** head_ref)
{
    struct node* prev   = NULL;
    struct node* current = *head_ref;
    struct node* next;
    while (current != NULL)
    {
        next  = current->next;  
        current->next = prev;   
        prev = current;
        current = next;
    }
    /*ADD A STATEMENT HERE*/
}
Discuss
Answer: (a).*head_ref = prev;
Q113.
What is the output of following function for start pointing to first node of following linked list?
1->2->3->4->5->6
void fun(struct node* start)
{
    if(start == NULL)
    return;
    printf("%d  ", start->data); 
    if(start->next != NULL )
    fun(start->next->next);
    printf("%d  ", start->data);
}
Discuss
Answer: (d).1 3 5 5 3 1
Q114.
The following C function takes a simply-linked list as input argument.
It modifies the list by moving the last element to the front of the list and returns the modified list. Some part of the code is left blank.Choose the correct alternative to replace the blank line.
typedef struct node 
{
    int value;
    struct node *next;
}Node;
 
Node *move_to_front(Node *head) 
{
    Node *p, *q;
    if ((head == NULL: || (head->next == NULL)) 
    return head;
    q = NULL; p = head;
    while (p-> next !=NULL) 
    {
        q = p;
        p = p->next;
    }
   _______________________________
  return head;
}
Discuss
Answer: (d).q->next = NULL; p->next = head; head = p;
Q115.
The following C function takes a single-linked list of integers as a parameter and rearranges the elements of the list.
The function is called with the list containing the integers 1, 2, 3, 4, 5, 6, 7 in the given order. What will be the contents of the list after the function completes execution?
struct node 
{
    int value;
    struct node *next;
};
void rearrange(struct node *list)
{
    struct node *p, * q;
    int temp;
    if ((!list) || !list->next) 
      return;
    p = list;
    q = list->next;
    while(q) 
    {
         temp = p->value;
         p->value = q->value;
         q->value = temp;
         p = q->next;
         q = p?p->next:0;
    }
}
Discuss
Answer: (b).2, 1, 4, 3, 6, 5, 7
Discuss
Answer: (d).Accessing elements at specified positions
Q117.
What is the time complexity of inserting at the end in dynamic arrays?
Discuss
Answer: (d).Either O(1) or O(n)
Q118.
What is the time complexity to count the number of elements in the linked list?
Discuss
Answer: (b).O(n)
Q119.
Which of the following performs deletion of the last element in the list? Given below is the Node class.
class Node
{
 protected Node next;
 protected Object ele;
 Node(Object e,Node n)
 {
  ele = e;
  next = n;
 }
 public void setNext(Node n)
 {
  next = n;
 }
 public void setEle(Object e)
 {
  ele = e;
 }
 public Node getNext()
 {
  return next;
 }
 public Object getEle()
 {
  return ele;
 }
}
class SLL 
{
 Node head;
 int size;
 SLL()
 {
  size = 0;
 }
}

a)

public Node removeLast()
{
 if(size == 0)
 return null;
 Node cur;
 Node temp;
 cur = head;
 while(cur.getNext() != null)
 {
   temp = cur;
   cur = cur.getNext();
        }
 temp.setNext(null);
 size--;
 return cur;
}

b)

public void removeLast()
{
 if(size == 0)
 return null;
 Node cur;
 Node temp;
 cur = head;
 while(cur != null)
 {
  temp = cur;
  cur = cur.getNext();
        }
 temp.setNext(null);
 return cur;
}

c)

public void removeLast()
{
 if(size == 0)
     return null;
 Node cur;
 Node temp;
 cur = head;
 while(cur != null)
 {
  cur = cur.getNext();
  temp = cur;
  }
 temp.setNext(null);
 return cur;
}

d)

public void removeLast()
{
 if(size == 0)
  return null;
 Node cur;
 Node temp;
 cur = head;
 while(cur.getNext() != null)
 {
  cur = cur.getNext();
  temp = cur;
 }
 temp.setNext(null);
 return cur;
}

a.

a

b.

b

c.

c

d.

d

Discuss
Answer: (a).a
Q120.
What is the functionality of the following code?
public void function(Node node)
{
 if(size == 0)
  head = node;
 else
 {
  Node temp,cur;
  for(cur = head; (temp = cur.getNext())!=null; cur = temp);
  cur.setNext(node);
 }
 size++;
}
Discuss
Answer: (c).Inserting a node at the end of the list

Suggested Topics

Are you eager to expand your knowledge beyond Data Structures and Algorithms? We've curated a selection of related categories that you might find intriguing.

Click on the categories below to discover a wealth of MCQs and enrich your understanding of Computer Science. Happy exploring!