国际空间研究组织 | ISRO CS 2020 |问题 10
堆栈是用一个数组“A[0…N – 1]”和一个变量“pos”来实现的。 push 和 pop 操作由以下代码定义。
push (x)
A[pos] ← x
pos ← pos – 1
end push
pop ( )
pos ← pos + 1
return A[pos]
end pop
以下哪项将为上述实现初始化容量为 N 的空堆栈?
(A)位置 ← –1
(B)位置 ← 0
(C)位置 ← 1
(D)位置 ← N – 1答案: (D)
解释:由于我们使用数组作为堆栈,我们可以在 0 或 N-1 之间进行选择。查看代码,Pop 递增 pos 和 push 递减 pos。
堆栈从较大的索引增长到较低的索引。因此,对于空栈 pos ← N – 1 是正确的。
这个问题的测验