threejs交流群511163089
这两天做计算数学表达式,这个就要用到后缀表达式来做,这是数据结构课会教的东西,发现规律的大神真牛批
咱们就看看js怎么做这种东西,普通算式就是中缀表达式。
规则
如果遇到左括号则直接入栈
如果遇到右括号,则弹出站内只到出现左括号为止
如果站外操作符的优先级高于站内的优先级则入栈
如果栈外的操作符优先级低于或等于栈内的优先级,输出栈内的符号,并入栈栈外的符号
中缀表达式遍历完成,但是栈中还有符号存在,一一出栈输出
输出就是装进后缀表达式栈
这样出来的就是处理好的后缀表达式了
然后依次从栈底开始,遇见符号就对符号下面两个数进行运算,运算栗子,符号此时是减号,栈顶是2,上一个元素是1 此时就是1-2得到-1,加减乘除都是这样
最后只剩下栈里最后一元素,就是答案