什么是逆波兰式?怎样把一个算术表达式转化成逆波兰式进行计算?

1个回答

  • 平常所说的算术表达式就是中缀表达式,而后缀式就是逆波兰式!x0d3) 由中缀表达式转化为后缀表达的具体步骤:x0d① 在表达式字符串的末尾加一个代表结束的辅助符,比如”#”.x0d② 从头开始扫描表达式,并判断当前的每一个字符.x0d③ 取当前的一个字符,如果当前字符是代表数字,则进逆波兰式的栈,如果是运算符,则转入④,如果是“#“,则结束.x0d④ 比较当前运算符与临时栈中的栈顶运算符,如果栈顶运算符比当前运算符优先级高,则弹出一个运算符放进逆波兰式栈中,并继续④.否则把当前运算符进临时栈,转入②.x0d后缀表达式由一系列运算符和运算数组成.后缀机可用如下方法计算后缀表达式的值:当遇到运算数时,把它放入栈中;遇到运算符时,从栈中弹出适当数量的运算数执行该运算符对应的运算,并把结果放回栈中.对最常见的二元运算符说来,弹出两个运算数.当计算完整个后缀表达式时,栈中只有一个元素,即表达式的结果.因为不存在优先级关系,因此后缀是计算表达式的一种很自然的形式.而每一个合法的中缀表达式都可以转化成为后缀表达式.