题25

题目

Q:设有一个顺序共享栈 Share [0 : n - 1],其中第一个栈顶指针 top1 的初值为 -1,第二个栈顶指针 top2 的初值为 n,则判断共享栈满的条件是 ( )。
A. top2 - top1 == 1
B. top1 - top2 == 1
C. top1 == top2
D. 都不对

分析

A:我最开始选的c,但是看了答案,应该注意到,这是从0作为下标的共享栈,这个下标和整个栈长的转换关系应该要注意

A
这种情况就是前面我们所描述的, 详细内容请参见本节考点精析部分对共享栈的讲解。
另外, 读者可以思考若 top1 的初值为 0, top2 的初值为 时栈满的条件。
注意
栈顶、队头与队尾的指针的定义是不唯一的,做题时务必仔细审题和思考。