template < class Object>
void fix(queueType < Object> &q, int n)
{
-if (n>=1)
-{
---Object temp = q.front();
---q.deleteQueue();
---fix(q,n-1);
---q.addQueue(temp);
-}
}
(a)what will the final state of queue q1 be after the statement fix(q1,2); is exexuted, if q1 has the values (1,2,3,4,5}
my answer: {2,3,4,5,1} because q.addQueue adds an element at the back
step 1: if (2>1) true
step 2: element {1} added to temp
step 3: q.deleteQueue(); deletes element{1}
step 4: fix(q1, 2-1)
step 5: q.addQueue(temp); element{1} is added at the back of the queue
b) what does function fix() do?
It restores the deleted element at the end of the queue
c) A precondition for fix() is: The queue exists and it is not empty
What do u think? Are my answers correct?