Explain what does the following function do void fooQueue q

Explain what does the following function do void foo(Queue *q, Stack *s) { while (!q rightarrow isEmpty() { s rightarrow push(q rightarrow dequeue); } while(!s.isEmpty()) { q rightarrow enqueue(s, pop()); } } Explain what does the following function

Solution

Here q, s are two different pointers, and of user defined type queue and stack respectively,

1. while(! q->isEmpty) // which means queue is not empty i.e still elements are in the queue

{ s->push(q->dequeue) } which means delete the element from the queue and push in to stack which will be taken by the pointer s.

2. while(!s.isEmpty()) // which means still elements are in the stack unless stack is empty

{

      q->enqueue(s,pop());    delete the elements from the stack and insert into the queue..

}

ultimately , which results exchanging the elements elements from stack to queue and vice-versa

 Explain what does the following function do void foo(Queue *q, Stack *s) { while (!q rightarrow isEmpty() { s rightarrow push(q rightarrow dequeue); } while(!s

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site