Implement a stack S using two queues Q1 and Q2 so that operations PUSH (S, X) and POP(S, Y), where S is supposedly a stack and X is the element to be inserted into S and Y the element deleted from S, are worked upon by the queues that operate together as a stack. Assume that the ADT operations of ENQUEUE, DEQUEUE and EMPTYQUEUE are only available for the queues. Demonstrate the working of your method on a list {a, b, c}, which is to be operated upon as a stack by the queues Q1 and Q2.
Implement a stack S using two queues Q1 and Q2 so that operations PUSH (S, X) and POP(S, Y), where S is supposedly a stack and X is the element to be inserted into S and Y the element deleted from S, are worked upon by the queues that operate together as a stack. Assume that the ADT operations of ENQUEUE, DEQUEUE and EMPTYQUEUE are only available for the queues. Demonstrate the working of your method on a list {a, b, c}, which is to be operated upon as a stack by the queues Q1 and Q2.
Question
Implement a stack S using two queues Q1 and Q2 so that operations PUSH (S,
X) and POP(S, Y), where S is supposedly a stack and X is the element to be inserted
into S and Y the element deleted from S, are worked upon by the queues that operate
together as a stack. Assume that the ADT operations of ENQUEUE, DEQUEUE and
EMPTYQUEUE are only available for the queues.
Demonstrate the working of your method on a list {a, b, c}, which is to be
operated upon as a stack by the queues Q1 and Q2.
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 5 steps with 3 images