Algorithm 4 Stack Implemented using Two Queues
Require: and are two queues.
Ensure: Implementation of stack operations with and .
1: // Calculate the number of elements in a queue
2:procedure QueueSize()
3:if then
4:return
5:end if
6:return
7:end procedure
8:
9: // the active queue
10: // the inactive queue
11: // Swap the active and inactive queue
12:procedure Toggle()
13:
14:
15:
16:end procedure
17:
18:procedure Push()
19:Enqueue()
20:end procedure
21:
22:procedure Pop()
23:while QueueSize() do
24: Dequeue()
25:Enqueue()
26:end while
27:Toggle()
28:return Dequeue()
29:end procedure