表达式的计算——栈
中缀表达式转换为后缀表达式:
从头到尾读取中缀表达式中的每一个对象,根据不同情况进行处理。
运算数:入栈
左括号:入栈
右括号:堆栈内的运算符号一个一个的弹出,并将OPND中的运算数也对应弹出并进行运算,一直到出现左括号为止,左括号出栈且右括号不入栈
运算符:(1)优先级大于栈顶元素,入栈
(2)优先级小于栈顶元素,栈顶元素出栈并把OPND栈顶和与栈顶相邻的元素进行运算,直到其优先级大于栈顶元素为止并入栈
所有对象处理完毕把栈中存留的运算符一并输出。
OPND:运算数的栈
OPTR:运算符的栈
后缀表达式的计算方法为:
从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
浙公网安备 33010602011771号