今天做了一道后缀表达式的题目,看着挺复杂,其实思路很简单。
百度百科中的解释:
Question: 如果输入一个后缀表达式(字符串),如何计算出后缀表达式的值呢?
思路:
建立一个栈S 。从左到右读表达式,如果读到操作数就将它压入栈S中,如果读到n元运算符(即需要参数个数为n的运算符)则取出由栈顶向下的n项按操作符运算,再将运算的结果代替原栈顶的n项,压入栈S中 。如果后缀表达式未读完,则重复上面过程,最后输出栈顶的数值则为结束。
上完整的C++代码:
今天做了一道后缀表达式的题目,看着挺复杂,其实思路很简单。
百度百科中的解释:
Question: 如果输入一个后缀表达式(字符串),如何计算出后缀表达式的值呢?
思路:
建立一个栈S 。从左到右读表达式,如果读到操作数就将它压入栈S中,如果读到n元运算符(即需要参数个数为n的运算符)则取出由栈顶向下的n项按操作符运算,再将运算的结果代替原栈顶的n项,压入栈S中 。如果后缀表达式未读完,则重复上面过程,最后输出栈顶的数值则为结束。
上完整的C++代码: