设有一个初始为空的栈,若输入序列为1、2、3、…、n(n>3),且输出序列的第一个元素是n-1,则输入序列

22 查阅

设有一个初始为空的栈,若输入序列为1、2、3、…、n(n>3),且输出序列的第一个元素是n-1,则输入序列中所有元素都出栈后,( )。

A.元素n-2一定比n一3先出栈

B.元素1~n-2在输出序列中的排列是不确定的

C.输出序列末尾的元素一定为1

D.输出序列末尾的元素一定为n

参考答案:

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的任何一个位置上。

软考初级