📜  数据结构 |堆栈 |问题 8

📅  最后修改于: 2021-09-08 12:53:53             🧑  作者: Mango

单个数组 A[1..MAXSIZE] 用于实现两个堆栈。两个堆栈从阵列的两端增长。变量 top1 和 top2 (topl< top 2) 指向每个堆栈中最顶层元素的位置。如果要有效地使用空间,“堆栈已满”的条件是 (GATE CS 2004)

(A) (top1 = MAXSIZE/2) 和 (top2 = MAXSIZE/2+1)
(B) top1 + top2 = MAXSIZE
(C) (top1= MAXSIZE/2) 或 (top2 = MAXSIZE)
(D) top1=top2 -1答案: (D)
说明:如果我们要有效地使用空间,那么任何堆栈的大小都可以大于 MAXSIZE/2。
两个堆栈将从两端开始增长,如果任何堆栈顶部接近另一个顶部,则堆栈已满。所以条件将是top1 = top2 -1(假设top1 < top2)
这个问题的测验