首页 > 试题广场 >

若栈采用顺序存储方式存储,现两栈共享空间v[1…m],top

[单选题]
若栈采用顺序存储方式存储,现两栈共享空间v[1…m],top[i]代表第i个栈(i=1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是()
  • |top[2]-top[1]|=0
  • top[1]+1=top[2]
  • top[1]+top[2]=m
  • top[1]=top[2]

题目出的不好,不知所云,我哪知道栈顶指针是不是指向栈顶元素的下一个位置呢,还是就是本身呢?所以我认为答案C

发表于 2017-09-16 09:41:11 回复(2)
顺序存储方式,栈一从下往上,栈二从上往下,正好接上的时候栈满。因此top[1]+1等于top[2]时栈满
发表于 2016-05-29 23:50:20 回复(1)
B

B的情况下, 就没有空闲的空间了
发表于 2015-01-10 14:39:57 回复(0)
感觉没有答案,正确答案应该是:top[1]-1=top[2]。
发表于 2015-08-28 11:07:29 回复(5)
出题注意严谨,=和==不一样
发表于 2017-03-18 12:59:19 回复(0)
如图:
m1和m2如果不相邻,那么要么S[1]还可以允许元素入栈,要么S[2]允许。
只有m1 + 1 = m2时,没有多余的空间允许更多元素入栈,此时栈满。

个人理解,希望大家指正~
发表于 2016-03-19 19:59:21 回复(2)
如果栈的存储结构是这样:top指向最后一个元素的下一个位置,得出的结果不就是 top[2]+1 = top[1] 了吗?

发表于 2018-08-11 10:00:06 回复(1)
搞清楚:top是栈顶元素的位置(栈顶指针指向的位置有数据),
于是栈满时,就是top1+1=top2
发表于 2017-03-28 21:11:54 回复(0)
栈顶元素和栈顶指针概念不一样 出题极为不严谨,若栈顶指针分别指向-1和m,则应选B
发表于 2023-04-27 21:21:24 回复(0)
栈顶元素和栈顶指针概念不一样
发表于 2020-12-06 21:14:50 回复(0)
B
一个从前向后,一个从后向前,两个正好接上就满了
发表于 2019-12-09 13:03:15 回复(0)
在实际操作中,栈顶指针指向栈顶元素的下一个位置。

发表于 2019-10-13 15:37:18 回复(0)
个人理解: 注意点:两个栈不能相互干涉, top[1]与top[2]所指向的栈顶的位置不存储数据元素,而top[1]与top[2]所指向的位置是属于各自栈的空间,所以当top[2]-top[1]==1时,共享栈为满的状态,所以选B。
发表于 2019-09-11 20:22:53 回复(0)
B
一个从前向后,一个从后向前,两个正好接上就满了
编辑于 2015-07-01 16:28:29 回复(0)