中缀表达式求值

/ 0评 / 1

已知有一个算术表达式
一个运算符栈
一个操作数栈
算术表达式从左往右依次:
1.操作数进操作数栈;
2.运算符与栈顶运算符比较
1)如果优先级大于栈顶运算符,入运算符栈。
2)如果优先级小于栈顶运算符,栈顶运算符出栈
并且操作数栈出栈两个数与出栈的运算符进行计算,
并将计算结果入操作数栈。
3)如果优先级与栈顶运算符相等【'#'与'#'或者'('与')'】则将优先级相等的运算符共同舍弃。
3.当运算符栈为空时,操作数栈内剩余的数即为运算结果。
栗子:求 3 * ( 7 - 2 ) 的值

发表评论

电子邮件地址不会被公开。 必填项已用*标注