Question

Given a `Queue` data structure with `enqueue` and `dequeue` operations. What is the element returned by the last `dequeue` operation in the following sequence?  ```     Queue q;     q.enqueue('A');     q.enqueue('B');     q.dequeue();     q.enqueue('C');     q.dequeue();     q.enqueue('D');     q.enqueue('E');     q.dequeue();     ```

A A Correct Answer Incorrect Answer
B B Correct Answer Incorrect Answer
C C Correct Answer Incorrect Answer
D D Correct Answer Incorrect Answer

Solution

Dry Run (Queue: First In, First Out):            `q.enqueue('A')`: Queue: `[A]`            `q.enqueue('B')`: Queue: `[A, B]`            `q.dequeue()`: Removes 'A'. Queue: `[B]`            `q.enqueue('C')`: Queue: `[B, C]`            `q.dequeue()`: Removes 'B'. Queue: `[C]`            `q.enqueue('D')`: Queue: `[C, D]`            `q.enqueue('E')`: Queue: `[C, D, E]`            `q.dequeue()`: Removes 'C'. Queue: `[D, E]`. Element returned is 'C'.

Practice Next
ask-question