一、判断题
堆栈后进先出,正确顺序为231
无法判断
3先出之后,说明2已入栈,那么2就必须在1之前出栈
二、选择题
p1有n-1种取值
BCD 1无法在2之前出栈
倒序出栈Pi=n-i+1
0表示出栈1表示入栈,则符合的出栈顺序有:
1010101010
1110001010
1100101010
1011001010
1101001010
中缀表达式转后缀表达式的方法:
1.遇到操作数:直接输出(添加到后缀表达式中)
2.栈为空时,遇到运算符,直接入栈
3.遇到左括号:将其入栈
4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。
5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈
6.最终将栈中的元素依次出栈,输出。
遇到a输出
后缀表达式:a
堆栈:null
遇到*入栈
后缀表达式:a
堆栈:
*
遇到(入栈
后缀表达式:a
堆栈:(*
遇到b输出
后缀表达式:ab
堆栈(*
遇到+入栈
后缀表达式:ab
堆栈+(*
遇到c输出
后缀表达式:abc
堆栈+(*
遇到):(之前出栈
后缀表达式:abc+
堆栈*
遇到-入栈*出栈
后缀表达式:abc+
*
堆栈-
遇到d输出
后缀表达式:abc+*d
堆栈-
遇到中缀表达式结束:弹出所有的运算符并输出
后缀表达式:abc+*d-
堆栈:null