中缀表达式如1*2+(2-1), 其运算符一般出现在操作数之间, 因此称为中缀表达式,也就是大家编程中写的表达
式。...编译系统不考虑表达式的优先级别, 只是对表达式从左到右进行扫描, 当遇到运算符时, 就把其前面的两
个操作数取出, 进行操作。...为达到上述目的, 就要将中缀表达式进行改写,变为后缀表达式 如上面的表达式
1*2+(2-1), 就变为12*21-+;
后缀表达式中不含有括号, 且后缀表达式的操作数和中缀表达式的操作数排列次序完全相同...我们实现的时候,只需要用一个特定工作方式的数据结构(栈),就可以实现。
其中stack op;用来存放运算符栈。数组ans用来存放后缀表达式。...否则的话,就依次把栈中运算符弹出加到数组ans的末尾,直到遇到优先级低于扫描
到的运算符或栈空,并且把扫描到的运算符压入栈中。
就这样依次扫描,知道结束为止。