ISRO | ISRO CS 2020 | Question 10
A stack is implemented with an array of ‘A[0…N – 1]’ and a variable ‘pos’. The push and pop operations are defined by the following code.
push (x) A[pos] ← x pos ← pos – 1 end push pop ( ) pos ← pos + 1 return A[pos] end pop
Which of the following will initialize an empty stack with capacity N for the above implementation ?
(A) pos ← –1
(B) pos ← 0
(C) pos ← 1
(D) pos ← N – 1
Explanation: Since we are using an array as a stack, we have a choice between 0 or N-1. Looking at the code, Pop increment pos and push decrement pos.
Stack is growing from larger index to lower index. Thus, for empty stack pos ← N – 1 is correct.
Quiz of this Question