单选题
将中缀表达式转换为等价的后缀表达式的过程中要利用堆栈保存运算符。对于中缀表达式A-(B+C/D)×E,当扫描读到操作数E时,堆栈中保存的运算符依次是______。
A、
-×
B、
-(×
C、
-+
D、
-(+
【正确答案】
A
【答案解析】
[解析] 考查栈的应用。设中间计算结果S1=C/D,S2=(B+C/D),则扫描过程如下:
扫描字符
运算数栈(扫描后)
运算符栈(扫描后)
说明
A
A
‘A’入栈
-
A
-
‘-’入栈
(
A
-(
‘(’入栈
B
AB
-(
‘B’入栈
+
AB
-(+
‘+’入栈
C
ABC
-(+
‘C’入栈
/
ABC
-(+/
‘/’入栈
D
ABCD
-r+/
‘D’入栈
ABS1
-(+
计算S1
)
ABS1
-(+)
‘)’入栈
AS2
-
计算S2
×
AS2
-×
‘×’入栈
E
AS2E
-×
‘E’入栈
扫描到E时,运算符栈中的内容依次是“-×”,因此选A。
提交答案
关闭