Doubly and Circular Linked List MCQs: 12 Solved Questions

Solve 12 published MCQs on circular, doubly and XOR linked lists. Each answer explains the invariant, pointer operation or complexity argument behind it.

KnowledgeGate Team

Exam prep & CS education

10 Sep 20268 min read

Doubly and circular linked-list questions look definitional, but their options often hide a pointer invariant, an access assumption or a cost that changes when a node address is already known. These 12 MCQs cover circular queues, pointer updates, XOR links, complexity, traversal and practical memory trade-offs.

Attempt each question before reading its explanation. The exam and year labels identify each PYQ's source. For a wider learning route around these structures, use the Coding & DSA category.

Related reading: stack and queue implementation MCQs and circular queues and deques.

1. Circular linked list MCQs: the loop invariant and its use

Q1. Circular linked list definition

CoCubes 2024

What is a circular linked list?

  • A. A linked list where all nodes are connected in a circular fashion, i.e., the last node points to the first node

  • B. A linked list where the first node points to the last node

  • C. A linked list where all nodes point to themselves

  • D. None of the above

Correct answer: A. In 10 -> 20 -> 30 -> 10, the last node's next is head 10, so traversal stops only when the cursor returns to its start. Option B reverses one relationship; option C creates three isolated self-loops.

Q2. A cyclic application

BPSC NB 2024

Which of the following application makes use of a circular linked list?

  • A. Recursive function calls

  • B. Allocating CPU to resources

  • C. Implement Hash Tables

  • D. More than one of the above

  • E. None of the above

Correct answer: B. In P1 -> P2 -> P3 -> P1, the scheduler continues from P3 to P1 without rebuilding the round-robin ready sequence. Recursive calls use a stack, and a standard hash table needs no circular list.

Q3. One pointer for constant-time enqueue and dequeue

GATE 2004

A circularly linked list is used to represent a Queue. A single variable p is used to access the Queue. To which node should p point such that both the operations enQueue and deQueue can be performed in constant time?

Circular linked list with front and rear nodes, plus a separate pointer p directed to an unknown node.
  • A. rear node

  • B. front node

  • C. not possible with a single pointer

  • D. node next to front

Correct answer: A. Let p point to rear 30 in 10 -> 20 -> 30 -> 10, so p->next is front 10. Enqueue 40 with 40.next=10, 30.next=40, p=40; dequeue 10 with p->next=20. Both use fixed pointer updates, so both are O(1).

Q4. Deleting the last node

Beltron Programmer Shift-2 2025

In a circular linked list, among the nodes that remain in the list, which node's next pointer is set to NULL during deletion of the last node?

  • A. Head node

  • B. None of the nodes

  • C. Last node

  • D. Node before last node

Correct answer: B. None of any node. In 4 -> 7 -> 9 -> 4, deleting 9 makes 7.next=4, not NULL. Deleting the one-node list 4 -> 4 empties the external head; it leaves no live node with a NULL next.

The linked-list queue in Q3 tests where one pointer must sit. The earlier Stacks and Queues MCQs set owns broader queue operations, deque concepts and stack-based expression problems.

3. Doubly linked list MCQs: node layout, traversal and implementation cost

Q5. Fields in each node

TPSC Assistant Programmer 2025

In a doubly linked list, each node contains :

  • A. Data and a pointer to the next node only

  • B. Data and a pointer to the previous node only

  • C. Data, a pointer to the next node, and a pointer to the previous node

  • D. Only data

Correct answer: C. In 10 <-> 20 <-> 30, the middle node stores 20, prev to 10, and next to 30. Both links enable forward and backward traversal; one link alone does not describe the standard doubly linked node.

Q6. The false implementation claim

BPSC PGT Tier-1 2023

Which of the following statements is not true about the doubly linked list?

  • A. We can traverse in both the directions.

  • B. It requires extra space.

  • C. Implementation of doubly linked list is easier than the singly linked list.

  • D. More than one of the above

  • E. None of the above

Correct answer: C. Options A and B follow from storing both prev and next. Inserting 20 between 10 and 30 means keeping four directional links consistent, so implementation is not generally easier. The gain is bidirectional navigation and predecessor access.

Use the broader Data Structures MCQs hub for mixed-topic practice.

Q7. Deleting a node whose location is known

ISRO 2008

Which of the following operations is performed more efficiently by doubly linked list than by linear linked list?

  • A. Deleting a node whose location is given

  • B. Searching an unsorted list for a given item

  • C. Inserting a node after the node with a given location

  • D. Traversing the list to process each node

Correct answer: A. Given 20 in 10 <-> 20 <-> 30, set 10.next=30 and 30.prev=10, an O(1) deletion. A singly linked list must find the unsupplied predecessor; searching, traversal and insertion after a known node stay O(n), O(n) and O(1) in both structures.

Q8. Pointer fields affected by insertion

ISRO May 2017

In a doubly linked list, the number of pointers affected for an insertion operation will be

  • A. 5

  • B. 0

  • C. 1

  • D. None of these

Correct answer: D. None of these. Interior insertion uses 20.prev=10, 20.next=30, 10.next=20, and 30.prev=20. Four pointer fields change, but 4 is absent; an endpoint may instead use a sentinel or boundary case.

5. Circular doubly and XOR linked-list variants

Q9. Concatenating two lists in O(1)

RSSB 2018

The concatenation of two lists is to be performed in O(1) time. Which of the following implementations of lists could be used?

  • A. Singly linked list

  • B. Doubly linked list

  • C. Circular doubly linked list

  • D. Array implementation of list

Correct answer: C. For A=(1,2) and B=(3,4), maintain each tail so its head is tail.next. Set 2.next=3, 3.prev=2, 4.next=1, 1.prev=4; these four assignments form 1 <-> 2 <-> 3 <-> 4 <-> 1 without scanning.

UGC NET 2023

Assertion A: It is possible to create doubly linked list using only one pointer with every node

Reason R: By storing the XOR of the addresses of the previous and next nodes

In the light of the above statements, choose the most appropriate answer

  • A. Both A and R are true and R is the correct explanation of A

  • B. Both A and R are true but R is not the correct explanation of A

  • C. A is true but R is false

  • D. A is false but R is true

Correct answer: A. With previous address 1000 and next address 1300, store 1000 XOR 1300 = 1788; then 1788 XOR 1000 = 1300, so R explains A. This low-level address technique is unsuitable in many managed or portability-sensitive environments, but that does not change the answer.

6. Complexity and space MCQs: state the supplied access model first

Q11. Total cost over a sorted doubly linked list

GATE 2016 Set 2

NN items are stored in a sorted doubly linked list. For a deletedelete operation, a pointer is provided to the record to be deleted. For a decrease−keydecrease-key operation, a pointer is provided to the record on which the operation is to be performed. An algorithm performs the following operations on the list in this order: Θ(N)Θ(N) deletedelete, O(logN)O(logN) insertinsert, O(logN)O(logN) findfind, and Θ(N)Θ(N) decrease−keydecrease-key. What is the time complexity of all these operations put together?

  • A. O(log2N)O(log^2N)

  • B. O(N)O(N)

  • C. O(N2)O(N^2)

  • D. Θ(N2logN)Θ(N^2logN)

Correct answer: C. Deletes total Θ(N) x O(1) = Θ(N); insert and find batches contribute at most O(N log N). The Θ(N) decrease-key operations can each scan Θ(N) positions, giving the dominant Θ(N^2) term; at N=8, that scales as 8 x 8 = 64 position checks.

For a structured route through the wider GATE CS syllabus, see GATE Guidance by Sanchit Sir.

Q12. The extra pointer costs memory

TPSC Programmer 2025

Which of the following is true for a doubly linked list compared to a singly linked list?

  • A. It uses more memory due to the additional pointer stored in each node.

  • B. It reduces the time complexity of every operation compared to a singly linked list.

  • C. It does not allow traversal in both directions.

  • D. It is faster to search for an element.

Correct answer: A. Singly linked nodes store data plus next; doubly linked nodes also store prev, so three nodes add three pointer fields. Search remains linear without an index, not every operation is faster, and the extra link enables backward traversal.

7. Doubly and circular linked-list traps, recall sheet and next step

Trap

Check

Questions

last.next is NULL in a circular list

last.next must return to head

Q1, Q4

one queue pointer should store front

store rear so rear.next is front

Q3

known node means predecessor is still unknown in a singly list

read the supplied-access assumption

Q7

count statements instead of pointer fields

write all four assignments

Q8, Q9

add complexity labels instead of multiplying operation count by per-operation cost

expand each batch and keep the dominant term

Q11

90-second recall drill: redraw 10 -> 20 -> 30 -> 10. With rear pointer p, enqueue 40 using 40.next=10, 30.next=40, p=40, then dequeue 10 using p->next=20. Insert 20 between 10 and 30 with Q8's four assignments. Recover 1300 from 1788 XOR 1000; explain why 8 decrease-key operations with up to 8 checks each give the quadratic term, 64.

Re-attempt only the questions you missed after one week, writing the invariant or cost equation before selecting an option. When you are ready to turn the pointer rules into code, DSA using Java is the structured implementation-oriented route.