中缀表达式转逆波兰式

实现过程:

1.首先创建两个空数组,result用来存放结果,temp用来存放符号;再创建一个符号集ops存放+-*/符号

2.转表达式字符为数组,开始遍历数组

3.如果遇到运算符,直接推入结果数组

4.遇到括号

  1)遇到’(‘,推入暂存区

  2)遇到’)’,依次弹出暂存区栈顶运算符直到’(‘,并且删除暂存区的’(‘

5.遇到运算符

  1)如果暂存区

    ①为空

    ②暂存区栈顶为’(‘

    ③当前符号的优先级高于暂存区栈顶运算符

    这几种情况直接推入栈内

  2)否则,将暂存区栈顶运算符弹出并推入结果区,再次进行步骤5

6.遍历完成则将暂存区剩余运算符依次弹出并推入结果区

代码链接
https://codepen.io/amenging/pen/djdvqR?editors=1111