-,表示的是负号,而不是减号
当出现+-时,并且前面还有左括号时,表示为正负号,比如:
9+(-3+4) //-前面还有(,说明这个-,表示负号,而不是减号
2)以下图的中缀表达式为例...判断栈顶的运算优先级,由于+-的优先级小于等于所有运算符
所以循环取出栈顶的运算符并入队列
直到遇到栈为空、遇到左括号时才停止,最后再将当前+-入栈
-当队列元素为乘除时
判断栈顶的运算优先级,由于*.../的优先级只小于等于*/
所以循环判断栈顶运算符,如果栈顶运算符是*/,则取出并入栈
直到遇到栈为空、遇到左括号、遇到+-时才停止,最后再将当前*/入栈
-当前队列元素为左括号时
直接入栈
-当前队列元素为右括号时...-当队列元素判断结束后
判断栈是否为空,如果不为空,则将栈存储的运算符出栈并入队列
示意图如下所示
?...3.代码实现
3.1 与界面相关的模块,用QCalculatorUI类实现
QCalculatorUI.h代码如下:
#ifndef QCALCULATORUI_H
#define QCALCULATORUI_H