笔试选择题——出栈&入栈问题

来源:互联网 发布:陕西网络作家协会 编辑:程序博客网 时间:2024/05/23 02:00

  昨天笔试,遇到一道有关出栈入栈顺序问题的选择题,当时晕晕乎乎好像做错了,时间太长没遇到这题已经忘记是啥意思了。

  苦逼。

  现在回头来复习一下。

  下面是一道实例:

一个栈的入栈序列为ABCDE,则不可能的出栈序列为?(不定项选择题)  A:  ECDBA  B:  DCEAB  C:  DECBA  D:  ABCDE  E:  EDCBA
正确答案是:AB

解析如下:

  首先,入栈与出栈是交错进行的,也就是A入栈后可能立马就出栈了。  

  选项A:A入,B入,C入,D入,E入。想要出栈顺序为ECD,那么E要先出,也就是E必须是最后一个入栈,第一个出栈的,那么CD先后出栈的情况是不存在的。即选项A为false

  选项B:A入,B入,C入,D入,D出,C出,E入,E出,B出,A出,也就是说,按照DCE的顺序,最后出栈的应该是BA才对。即选项B为false;

  选项C:A入,B入,C入,D入,D出,E入,E出,C出,B出,A出,即选项C为true;

  选项D:A入,A出,B入,B出,C入,C出,D入,D出,E入,E出,即选项D为true;

  选项E:A入,B入,C入,D入,E入,E出,D出,C出,B出,A出,即选项E为true;

  故,选项A与B是不可能出现的。

原创粉丝点击