原则:从头到尾读取表达式中每个对象,对不同对象按不同的情况处理:
1)运算数:直接输出
2)左括号:压入堆栈
3)右括号:将栈顶的运算符弹出并输出,直到遇到左括号,两者出栈,不输出。
4)运算符:
若优先级大于栈顶运算符,则把它压栈。
若优先级小于/等于栈顶运算符时,将栈顶运算符弹出并输出;再比较新的栈顶元素符,直到该运算符大于该栈顶运算符,然后将运算符压栈/
5)若对个对象处理完毕,则把堆栈中存留的运算符一并输出。完成转化。
原则:从头到尾读取表达式中每个对象,对不同对象按不同的情况处理:
1)运算数:直接输出
2)左括号:压入堆栈
3)右括号:将栈顶的运算符弹出并输出,直到遇到左括号,两者出栈,不输出。
4)运算符:
若优先级大于栈顶运算符,则把它压栈。
若优先级小于/等于栈顶运算符时,将栈顶运算符弹出并输出;再比较新的栈顶元素符,直到该运算符大于该栈顶运算符,然后将运算符压栈/
5)若对个对象处理完毕,则把堆栈中存留的运算符一并输出。完成转化。