The dequeue operation is used to delete the elements from the queue in the order of items added. New elements added to our queue end up in the inbound_stack. Instead of removing elements from the inbound_stack, we shift our attention to another stack, that is, outbound_stack. We shall delete the elements from our queue only through the outbound_stack.
To understand how outbound_stack can be used to delete the items from the queue, let us consider the following example.
Initially, our inbound_stack was filled with the elements 5, 6, and 7, as shown in the following diagram:
We first check if the outbound_stack is empty or ...