设栈初始时为空,对于入栈序列1, 2, 3, ... , n,这些元素经过栈之后得到出栈序列P1,P2,P3,…, Pn,若P3=4 ,则P1, P2不可能的取值为

A. 6,5

B. 2,3

C. 3,1

D. 3,5

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:数据结构 - 栈


题目就是说从1开始从小到大的就往栈里放,中途出栈的顺序不一定,但是出栈的第3个是数字4,问第1、第2个出栈顺序,在选项中有哪些是可能的,剩一个不可能的。


栈只有一个口供进出,所以有一个特点就是进栈的元素如果在下一个元素进来之前不出栈那么就会被压在底下。所以,

A:6第一个出,那么进栈顺序一定是:123456,出栈顺序可能之一:654,顺序刚好,所以排除。

B:1进,2进,2出,3进,3出,4进,4出,顺序刚好,所以排除。

C:就是3第一个出,那么进栈顺序一定是123,所以2一定比1先出,但是按题目中的出栈顺序314,1出了都还没有看到2,所以选C。

D:3第一个出,那么进栈顺序一定是123,3出,4进,5进,5出,4出,出栈顺序刚好354,所以排除。

请先 登录 后评论