java的栈:设栈S的初始状态为空,元素a,b,c,d,e,f,g依次入栈,写出a,b,c,e,d,f,g进出栈次序?

答案是进,出,进,出,进,出,进,进,出,出,进,出,进,出,这个是怎么来的,还是答案有误?... 答案是进,出,进,出,进,出,进,进,出,出,进,出,进,出,这个是怎么来的 ,还是答案有误? 展开
 我来答
artintin
推荐于2017-12-15 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2909万
展开全部
栈是先进后出,a在输出的第一个,那么他肯定是在b进入前出来的,后面的bc也是同样情况
所以前六个是进a,出a,进b,出b,进c,出c
此时栈为空,后面输出序列为e,d,均在f之前,同理说明ed在f入栈之前出来的
次序是 进d,进e,出e,出d
此时栈又空了,出栈为f,g,次序和输入一样,就是和a,b的一样
所以是进f,出f,进g,出g
这样了全部过程就是进a,出a,进b,出b,进c,出c,进d,进e,出e,出d,进f,出f,进g,出g
pqzhanga
2014-03-03 · TA获得超过636个赞
知道小有建树答主
回答量:488
采纳率:50%
帮助的人:426万
展开全部
栈的机制是控制入栈出栈顺序为后进先出,理解了这个就简单了:
a,b,c,d,e,f,g依次入栈,得到a,b,c,e,d,f,g的出栈顺序,那么逐个分析就得到答案了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x_MM1229
2014-03-03 · 超过11用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:17.3万
展开全部
栈是先进后出,a在第一个,那肯定是先进a,然后再出a。
d在有之后,肯定是d先进,e再进,e出,d再出
按照这个规律就能写出结果来了。
追问
那b为什么怎么来呢?我理解是先进a,在进b,在出b
追答
如果是a进,然后b进,那出来的时候b肯定在a前面(先进后出)。所以如果要保证a在b前面,那么只能a后进(但a在b前面,所在是a进,然后a出,最后b再进)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式