初级问题:入栈序列和出栈序列之间有什么规律吗?
刚学完“栈和队列”,“基础知识题”的第1题是这样的:
设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题:
(1)若入、出栈次序为Push(1), Pop(), Push(2), Push(3), Pop(), Push(4), Pop(), 则出栈的数字序列为何(这里Push(i)表示i进栈,Pop()表示出栈)?
(2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。
(3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。
演算入出栈顺序倒挺容易,实在不行拿张纸一画就知道了。可是,为什么不能得到1423呢?(我试过了,不行,可是为什么呢?)还有,那24种排列中什么样的序列不能得到呢?这里有什么规律吗?