今天笔试时遇到一个求后缀表达式的题,之前不太了解,所以在这写一下
举个例子吧,比如对下列表达式求其后缀表达式:(a+b)*c*(d-e/f)
(1)首先,我们按照运算符的优先级给它加上括号 (((a+b)*c)*((d-(e/f))))
(2)将每个运算符移到离它最近的右括号外,即 (((ab)+c)*((d(ef)/)-))*
(3)去掉括号后,得到原表达式的后缀表达式即 ab+c*def/-*
同理,如果要求前缀表达式,就将运算符移到最近的左括号外边即可。
今天笔试时遇到一个求后缀表达式的题,之前不太了解,所以在这写一下
举个例子吧,比如对下列表达式求其后缀表达式:(a+b)*c*(d-e/f)
(1)首先,我们按照运算符的优先级给它加上括号 (((a+b)*c)*((d-(e/f))))
(2)将每个运算符移到离它最近的右括号外,即 (((ab)+c)*((d(ef)/)-))*
(3)去掉括号后,得到原表达式的后缀表达式即 ab+c*def/-*
同理,如果要求前缀表达式,就将运算符移到最近的左括号外边即可。