结构推理 设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序压入其中,请回答下述问题: (1)若入、出栈次序为Push(1),Pop(),Push (2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列如何? (2)能否得到出栈序列1423和1432,并说明为什么不能得到或者如何得到。 (3)请分析1,2,3,4的各种排列中,哪些序列是可以通过相应的入、出栈操作得到的。
【正确答案】(1)1324。 (2)能得到1432,不能得到1423。因为同时压入2,3,在弹出时根据堆栈的运算规则只能弹出3,2。 (3)在1,2,3,4的各种排列中,根据堆栈的运算规则(先进后出),可能出现的次序是:1234,1324,1432,2143,2134,3214,4321。
【答案解析】