若已知一个栈的进栈序列是p1 p2 p3...pn,其输出序列为1 2 3... n,若p3=1,

2025-03-02 00:54:54
推荐回答(3个)
回答1:

你只管三个数就可以了。
只有1,2,3这三个数。进栈顺序不知,出栈顺序是1,2,3
现在只是知道了1是最后入栈的。
那么进栈顺序,有二种可能
2, 3 ,1
3, 2 ,1

2,3,1要使最后的输出序列是1,2,3,则其出进出栈顺序是
2进,3进,1进,1出, 此时,要让2出来,必须3先出。所以这种情况是不可能存在的。

所以p1.一定不可能是2.

选择C.

回答2:

c)n-i+1
栈的排列遵循先进后(即后进先出)出的原则
因为p1是n,是出栈的第一个数字,说明在n之前进栈的数字都没有出栈,所以这个顺序是确定的。还可以知道,最后出栈的一定是数字1,也就是pn。代入这个式子,是正确的。

回答3:

不会是2吧,因为中间还有p2的,答案是什么,我也是这几天刚学的