如何正确理解出栈顺序???
如何正确理解出栈顺序??? 例如:如栈顺序是:1234 则1、如栈的数据与这个顺序的关系是什么? 2、如果有这样一个出栈序列:4312 我的理解是34先入栈,4出后3出栈,1入栈,1出栈,2入栈,2出栈。 这个理解有问题吗? 这个序列是错的。原因在那里? 3、我具体怎么判断一个出栈序列的正确性。
(1)入栈顺序是1 2 3 4,就是指这四个数依次入栈: 数据4入栈之前,1 2 3肯定已经入栈了; 数据3入栈之前,1 2肯定已经入栈了,而4还没入栈; 数据2入栈之前,1肯定已经入栈了,而2 3 4还没入栈; 数据1最先入栈,2 3 4还没入栈。
(2)既然入栈顺序是1 2 3 4,3 4入栈的时候,1 2 肯定已经入栈了,怎么会在后面再入栈。 (3)先拿4 3 1 2这个出栈序列来说,4最先出来,说明此时1 2 3(底到顶顺序)还都在栈中;接下来只有3能出栈,3出来后,栈中为1 2(底到顶顺序);再接下来只有2能出栈,所以如果出栈序列前两个是4 3的话,后两个只能是2 1。
再看个正确的出栈序列:2 4 3 1;2最先出来,说明它出来时,3 4还没入栈,而1已入栈且还在栈中;接着是4出来,说明此时3也在栈中(3要比4先入栈),此时栈中有1 3(底到顶顺序);然后只能3出栈,最后是1出栈。 总之,挨个看出栈序列的数据,根据入栈顺序,分析它出来时,栈中应该还有谁,而有谁还没入栈,然后分析此时可不可能是它出栈。
问:如果进栈序列为e1,e2,e3,e4,则可能的出栈序列为:
答:你认为的答案也是对的,但是你要知道你的答案并不在选项中啊。出栈的顺序不是唯一的。e2,e4,e3,e1 这的确是一个正确答案,我来给你解释怎么会这样吧。 e1进...详情>>
问:我大专毕业后工作三年了,英语四级没有过,能报考研究生吗?
答:我覺得網上的朋友??真誠??言語直接,一語中的,就是 "妹妹&哥哥,你大?的往前走"吧! 加油吧!详情>>
答:计算题(考试以选择题形式出题) 1、假定某一资本的剩余价值率为100%,该资本4年周转一次,试问该资本的年剩余价值率为多少? 答案:M¹=m&...详情>>