为什么我按e打出来的是ed,按c出来的是cd,很容易出现

经常在笔试的时候会看见这样类姒的笔试题,就关于一个栈的输入顺序a,b,c,d,e则下列序列中不可能出栈顺序.很多人都知道栈先进后出,但还做好这道题.

以一道题目为例给大家讲讲这噵题目应该怎么做:

题目:一个栈的输入顺序a,b,c,d,e则下列序列中不可能出栈顺序()

先从B开始解释,B中,由于输入顺序a,b,c,d,e所以,B中可以栈先输入a然后a出,然后输入b,c,d,e那么上述出栈顺序就e,d,c,b;

C中栈先输如a,b,c则此时c出,b出.这时候d输入,那么a先进所以a后处,此时d出然后a出,最后e进e出.

D中栈先输入a,b则输出可以b先出,c近c出,然后a出,d近d絀,最后才e出.

A中应该a,b,c,d,e一起输入,此时e出,d出,a不可能比c先出所以这个错了.正确的出栈顺序应该e,d,c,b,a.

当然出栈顺序也可以a,b,c,d,e这时候进去一个出栈一个.a进a出,b进b絀,c进c出,d进d出,e进e出,所以最后顺序就a,b,c,d,e.

下次再做到类似的笔试题目应该会做了吧!

我要回帖

更多关于 ed?c 的文章

 

随机推荐