设有一个初始为空的栈,若输入序列为1、2、3、…、n(n>3),且输出序列的第一个元素是n-1,则输入序列中所有元素都出栈后,( )。
【正确答案】
A
【答案解析】解析:栈的特点是先进后出。如果初始栈为空且输入序列为l、2、3、…、n,在1~n-1个元素依次进栈后,1~n在栈中的顺序为倒过来的,即1在栈底,n-—1在栈顶。这时有两种操作:n-1出栈或者n进栈。如果n-1出栈,接下来改变栈状态的动作为n进栈或者n-2出栈。如果是n进栈,这样在n出栈后,n-2、n-3、…、2、1才能依次出栈。依此类推,元素1~n-2的排序在输出序列的排序是确定的,为n-2、n-3、…、2、1,元素n-2一定比n-3先出栈。元素n则可以在序列n-2、n-3、…、2、1的任何一个位置上。