Java You are given a stack stack and a queue queue of Integers. Write client-lev
ID: 3581332 • Letter: J
Question
Java
You are given a stack stack and a queue queue of Integers. Write client-level statements to create a new queue newQ that merges stack and queue.
The new queue contains the contents of the queue reversed followed by the contents of the stack reversed.
For example, if stack contains (shown from top to bottom):
6
5
4
and queue contains (shown from front to back):
3, 2, 1
then newQ will contain (shown from front to back) :
1, 2, 3, 4, 5, 6
Use only the standard stack methods push, pop, peek, and isEmpty and the standard queue methods enqueue, dequeue, getFront, and isEmpty.
For full credit, use only stack and queue objects within the method.
The original stack and queue can be modified when the method ends.
The method header is: public QueueInterface<Integer> mergeQueueStack(QueueInterface<Integer> queue, StackInterface<Integer> stack)
Explanation / Answer
public QueueInterface<Integer> mergeQueueStack(QueueInterface<Integer> queue, StackInterface<Integer> stack){
QueueInterface<Integer> newQ = new Queue<Integer>();
// stac: top => 6, 5, 4
while(! stack.isEmpty())
newQ.enqueue(stack.pop());
//Now content of newQ => front -> 6, 5, 4 <- back
// Now adding content of queue (front -> 3, 2, 1 <- back) in newQ
while(!queue.isEmpty())
newQ.enqueue(queue.dequeue());
// Content of newQ: front- > 6, 5, 4, 3, 2, 1 <- back
// to reverse content , push all elements of newQ in stack and agin pop from stack and add in neqQ
while(!newQ.isEmpty())
stack.push(newQ.dequeue());
while(! stack.isEmpty())
newQ.enqueue(stack.pop());
// COntent of newQ: front -> 1, 2, 3, 4, 5, 6 <- back
return newQ;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.