主题:初学<数据结构>,堆栈题不懂??????
lsylsy
[专家分:400] 发布于 2006-09-18 10:18:00
选择题:
一个栈的入栈序列是a,b,c,d,e; 则栈的不可能的输出序列是( ).
a,edcba b.decba c.dceab d.abcde
书上答案是c
但是我不懂出栈序列b,d为什么也是正确的啊?????
谁能帮解释下,小弟万分感谢!!
回复列表 (共18个回复)
沙发
rickone [专家分:15390] 发布于 2006-09-18 10:41:00
模拟一下,用手工做做就知道了。
c答案:d出来的时候,栈里有abc,c出,栈里有ab,e进,e出,然后要a出来是不可能的,有b在栈顶,b必须先a出来。
板凳
dugulang [专家分:240] 发布于 2006-09-28 12:16:00
只要抓住---先进后出---原则就不难理解了
先进栈的不可能比后进栈的先出
3 楼
雨523 [专家分:200] 发布于 2006-10-02 08:04:00
..
4 楼
csuwzj [专家分:0] 发布于 2006-10-04 00:23:00
2楼得这个应该是不对得吧 先进不一定要要后出得 比如答案种得D
这个其实没有一个定则得 在看题得时候推下就行了
5 楼
沙诺sun [专家分:0] 发布于 2006-10-09 16:26:00
我还是看不明白,再说清楚点啊
7 楼
小小疯狗 [专家分:20] 发布于 2006-10-10 14:22:00
d就是放一个就拿出来一个。。遵守先进后出的原则吧。。我们的课刚好讲到这。。
是先进后出的原则。。。但是进出的顺序有你来想。。所以可以是d答案。。
8 楼
雨523 [专家分:200] 发布于 2006-10-11 10:32:00
看了三遍了这道题,三次点开还是这样
9 楼
xcy2rain [专家分:0] 发布于 2006-10-11 14:12:00
只要遵守后进先出的原则肯定能解这个,我菜鸟顶下
10 楼
hzj1216000 [专家分:40] 发布于 2006-10-17 10:59:00
有没有说5个要一次性入展
我来回复