问题
单项选择题
设有一个初始为空的栈,若输入序列为1、2、3、…、n(n>3),且输出序列的第一个元素是n-1,则输入序列中所有元素都出栈后,()
A,元素n-2一定比n-3先出栈
B.元素1~n-2在输出序列中的排列是不确定的
C.输出序列末尾的元素一定为1
D.输出序列末尾的元素一定为n
答案
参考答案:A
解析:
本题考查数据结构基础知识。
若初始栈为空且输入序列为1、2、3、…、n,在元素1、2、3、…、n-1依次进栈后栈的状态如下图所示。
显然,此时若进行出栈操作,则一定是n-1出栈,接下来改变栈状态的动作为元素 n进栈或者n-2出栈。若是n进栈,则栈的状态如下图(a)所示,这样在n出栈后n-2、n-3、…、2、1才能依次出栈。若动作为n-2出栈,则栈的状态如下图(b)所示,接下来改变栈状态的动作为元素n进栈或者n-3出栈。依此类推,元素1~n-2在输出序列中的排列是确定的,为n-2、n-3、…、2、1,元素n-2一定比n-3先出栈。元素n则可以在序列n-2、n-3、…、2、1的任何一个位置上。