栈的四则运算的运用
中缀表达式
平时的表达式都是中缀表达式:比如1+2-(3*4)
这种符号在两个数之中的表达式叫做中缀表达式
后缀表达式
1 2 + 3 4 * - 这种运算符在数字后面的叫做后缀表达式
中缀表达式转后缀表达式:
对于数字直接输出
对于符号:
和栈顶符号进行优先级比较
如果栈顶符号优先级低,则该符号进栈(左括号是优先级最低的)
如果栈顶比要加入的符号优先级高,那么先弹出栈顶符号并输出,再进栈要进栈的符号
如果是右括号:则将栈顶符号弹出并输出,知道匹配左括号,同时将左括号和右括号舍弃
遍历结束:将栈中所有符号以此弹出并输出
后缀表达式的运算
读取到数字,将数字入栈
读取到字符:
1.将栈顶的数字作为右边的数字
2.将栈顶的下一个数字作为左边的数字
3.将读取到的字符作为表达式求值,再入栈