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

admin2019-05-11  6

问题 设有一个初始为空的栈,若输入序列为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的任何一个位置上。
转载请注明原文地址:https://kaotiyun.com/show/P5VZ777K
0

相关试题推荐
最新回复(0)