设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题:(1)若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈)(2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。(3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。
举一反三
- 【单选题】3章--设push、pop分别表示入栈、出栈操作,若初始桟为空,对于元素序列abc,则操作序列push、pop、pop、push、push、pop() A. 得到出栈序列为abc B. 得到出栈序列为bac C. 得到出栈序列为bca D. 是非法的操作序列
- 某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?
- 二叉树的中序遍历也可以循环地完成。给定循环中堆栈的操作序列如下()(其中push为入栈,pop为出栈):push(1),push(2),push(3),pop(),push(4),pop(),pop(),push(5),pop(),pop(),push(6),pop()
- 假设对一个整数栈进行下列的操作序列: - push (1), push (2), pop, push (1), push (2), pop, pop, pop, push (2), pop ,那么出栈的整数的顺序( )。 A: 2,2,1,1,2 B: 2,2,1,2,2 C: 2,1,2,2,1 D: 2,1,2,2,2
- 【填空题】若某堆栈初始为空,Push和Pop分别表示对栈进行一次进栈和出栈操作,那么,对于序列a,b,c,d,e,经过Push,Push,Pop,Push,Pop,Push,Push以后,栈里的序列从栈底到栈顶依次是 。 (6.0分)