问题 单项选择题

设有一个初始为空的栈,若输入序列为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的任何一个位置上。

多项选择题
单项选择题