An implementation of a queue Q, using two stacks S1 and S2, is given below:…
GATE · 2006 · CS
An implementation of a queue Q, using two stacks S1 and S2, is given below:
void insert(Q, x) {
push (S1, x);
}
void delete(Q){
if(stack-empty(S2)) then
if(stack-empty(S1)) then {
print(“Q is empty”);
return;
}
else while (!(stack-empty(S1))){
x=pop(S1);
push(S2,x);
}
x=pop(S2);
}
Let n insert and m (<=n) delete operations be performed in an arbitrary order on an empty queue Q. Let x and y be the number of push and pop operations performed respectively in the process. Which one of the following is true for all m and n?
- A.
n+m <= x < 2n and 2m <= y <= n+m
- B.
n+m <= x < 2n and 2m<= y <= 2n
- C.
2m <= x < 2n and 2m <= y <= n+m
- D.
2m <= x <2n and 2m <= y <= 2n
Attempted by 160 students.
Show answer
Correct answer: A
The worked solution is available to enrolled students.
Video solution available to enrolled students.
Explore the full course: Iocl Engineers Officers Grade A Paper 2
Loading lesson…