中缀表达式转前缀表达式java实现
准备知识:
前缀、中缀、后缀表达式
http://note.youdao.com/noteshare?id=c27a0ee6222c18ec60cf5bb2154b0744&sub=4CEC6E1E196B4B228839B9220F9F673C
前缀、中缀、后缀表达式和二叉树的关系
http://note.youdao.com/noteshare?id=94f62313f62679a01e7fc6ef5c460dd1&sub=F89CC8CF4BBC44BABCC01C7D360C072C
一、中缀转前缀表达式算法
- 1、初始化两个栈:运算符栈opStack和存储前缀表达式栈pnStack;
- 2、【反转】字符串,【从左至右】扫描中缀表达式;
- 3、遇到操作数时,直接将其压入tempStack中;
- 4、遇到运算符时,比较其与opStack栈顶运算符的优先级:
-
4.1、如果opStack为空,或者栈顶运算符为右括号’)’,则直接将此运算符压入opStack中;
-
4.2、否则&