需求
计算逆波兰表达式(后缀表达式)
逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法,按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。
正常的表达式 | 逆波兰表达式 |
---|---|
a + b | a b + |
a + (b - c) | a b c - + |
a + (b - c) * d | a b c - d * + |
a + d * (b - c) | a d b c - * + |
a = 1 + 3 | a = 1 3 + |
测试数据
35.0 24.0 + 12.0 11.0 + *
下面写的代码是使用了freopen的,可以在f盘建一个叫data.txt的文件把数据放进去,代码会直接读取,如果想手动输入就把freopen那一行注释掉。
代码
#include <vector>
#include <iostream>