關於棧的輸入順序和輸出順序


經常在筆試的時候會看見這樣類似的筆試題,就是關於一個棧的輸入順序是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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM