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

最全题库2022-08-02  57

问题 设有一个初始为空的栈,若输入序列为 1、2、3、…、n(n>3),且输出序列的第一个元素是n-1,则输入序列中所有元素都出栈后,(  )。A.元素n-2一定比n-3先出栈B.元素1~n-2在输出序列中的排列是不确定的C.输出序列末尾的元素一定为1D.输出序列末尾的元素一定为n

选项 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的任何一个位置上。
转载请注明原文地址:https://tihaiku.com/congyezige/2427936.html

最新回复(0)