【简答题】设一数列的输入顺序为123456,若采用堆栈结构,并以A和D分别表示入栈和出栈操作,试问通过入出栈操作的合法序列。 ( 1) 能否得到输出顺序为325641的序列。 ( 2) 能否得到输出顺序为154623的序列。
举一反三
- 1若元素进栈顺序为1234,能否得到3142的出栈顺序?
- 已知栈S 初始为空,用 I 表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈 S 得到出栈序列a2a4a5a3a1的合法操作序列
- 假设以S和X分别表示入栈和出栈的操作,则初态和终态均为空栈的入栈和出栈的操作序列可以表示为仅由S和X组成的序列。称可以操作的序列为合法序列(例如,SXSX为合法序列,SXXS为非法序列)。试给出区分给定序列为合法序列或非法序列的一般准则,并证明:两个不同的合法(栈操作)序列(对同一输入序列)不可能得到相同的输出元素(注意:在此指的是元素实体,而不是值)序列。
- 如果一个栈的输入序列为123456,能否得到435612和135426的出栈序列?
- 【单选题】3章--设push、pop分别表示入栈、出栈操作,若初始桟为空,对于元素序列abc,则操作序列push、pop、pop、push、push、pop() A. 得到出栈序列为abc B. 得到出栈序列为bac C. 得到出栈序列为bca D. 是非法的操作序列