Question: Show how to implement a stack with a max-priority queue. More specifically, recall that the stack ADT stores a list of elements and supports the

Show how to implement a stack with a max-priority queue. More specifically, recall that the stack ADT stores a list of elements and supports the following list operations: TOP(S), which returns the top element of the stack S; PUSH(S,x), which inserts x into the stack; POP (S), which removes and returns the top element of the stack, MAKENULL (S), which makes S empty. Recall that a max-priority queue is an ADT consisting of a set of elements and the following set operations: MAKENULL(S), which makes S an empty set: INSERT (S,x), which makes S into SU{:}; EXTRACTMAX ($), which removes and returns the element of S with the largest key; MAX(S), which returns the element of S with largest key. Assume that the only data structure you are allowed to use is a max-priority queue. In other words, your pseudocode may contain statements involving operations MAK- ENULL, INSERT, EXTRACTMAX and MAX, but you should not assume any array or linked list implementations of these operations. In your solution, it is sufficient to give pseudocode for the procedures TOP, PUSH, POP and MAKENULL in terms of the max-priority queue operations MAKENULL, INSERT, EXTRACTMAX and (12) MAX
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
