【正确答案】
C
【答案解析】考查堆栈“后进先出”的特点。对选项A来说,第一个出栈元素是5,因为6先于5进栈,所以必定在5之后出栈,其余的元素出栈顺序任意;对选项B来说,第一个出栈元素是4,所以5和6两个元素必定在4之后依次出栈;对选项C来说,第一个出栈元素是3,则必有4、5、6三个元素依次在3后面出栈,但是选项C中的顺序是3、4、6、5,这是不符合要求的;对选项D来说,第一个出栈元素是2,则必有3、4、5、6依次在2后面出栈,D也是符合要求的,因此答案选C。
总结:这种问题如何解决呢?我们看第一个出栈元素,然后确定先于第一个元素进栈的所有其他元素,这些元素一定在第一个出栈元素之后顺序出栈。如果第一个元素仍然无法判断出来,可继续看后面的元素,依次类推。举例如下:
假设第一个出栈的元素是1,则出栈顺序一定是6、5、4、3、2、1,没有其他情况。
假设第一个出栈的元素是2,则出栈顺序可能有:
213456;231456;234156; 234516‘; 234561
(可首先把23456写出,然后可将1插到2之后的任意位置)
假设第一个出栈的元素是3,则出栈顺序可能有:
3 12 456;34 12 56; 345 12 6; 3456 12
但是314526是不能的。因为3出栈之后,当前栈中仍有4、5、6三个元素,如果下一个是1出栈,则肯定先让2进栈,再让1进栈,然后1出栈,此时栈顶就变成2了,则下一个出栈的只能是2,而不能是4。