Conversion Algorithm
1、操作符栈压入"#";
2、依次读入表达式的每个单词;
3、如果是操作数则压入操作数栈;
4、如果是操作符,则将操作符栈顶元素与要读入的操作符进行优先级比较
(4.1)如果读入的是 ')',则将操作符栈中的元素压入操作数栈直至遇到 '(';
(4.2)如果读入的是 '(',压入操作符栈;
(4.3)如果栈顶元素优先级低,压入操作符栈;
(4.4)如果读入的元素不为'#',以及栈顶元素优先级高,则将栈顶元素压入操作数栈,将读入的元素压入操作符栈;
(4.5)如果操作符栈为空或操作符栈栈顶元素为 '(',压入操作符栈;
(4.6)其他,将操作符栈元素压出到操作数栈直至遇到'#';
5.将操作数栈元素逆序输出。
//infix to postfix
#include<iostream>