經常在筆試的時候會看見這樣類似的筆試題,就是關於一個棧的輸入順序是a,b,c,d,e則下列序列中不可能是出棧順序.很多人都知道棧是先進后出,但是還是做好這道題.
以一道題目為例給大家講講這道題目應該怎么做:
題目:一個棧的輸入順序是a,b,c,d,e則下列序列中不可能是出棧順序是()
A:e,d,a,c,b
B:a,e,d,c,b
C:b,c,d,a,e
D:b,c,a,d,e
解答這題選擇:A
先從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.