2022年逆波兰表达式求值 .pdf





《2022年逆波兰表达式求值 .pdf》由会员分享,可在线阅读,更多相关《2022年逆波兰表达式求值 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、题目: 逆波兰表达式求值学生姓名 : 李桐 20100820212 专业班级 : 通信工程二班背景表达式求值是程序设计语言编译中的一个最基本的问题因为任何程序设计语言都必须具有表达式求值的功能,同时表达式的计算应用也相当广泛,比如电力调度系统中的计算遥测、车站票务系统中的票价类型计算公式等。通常, 我们所说的表达式是由运算符、操作数、界限符所组成。而算术表达式中最常见的表示法形式有中缀、前缀和后缀表示法。中缀表示法是书写表达式的常见方式,而前缀和后缀表示法主要用于计算机科学领域。1、中缀表达式将运算符放在两操作数的中间。在运算中存在运算符的优先权与结合性的问题。例如运算:a*b+(c-d/e)
2、*f 时,编译器即自左向右逐一检查,当检查到第一个运算符“ * ”时还无法知道是否执行;待检查到第二个运算符“ + ”时,因为知道“*”的优先级别高于“ + ”时,才知道执行“a*b”;当继续检查到“ ( ”时,可知道先执行括号以内部分等。2、前缀表达式将运算符放在两操作数的前面。这种表示法经常用于计算机科学,特别是编译器设计方面。为纪念其发明家Jan Lukasiewicz,这种表示法也称波兰表示法。3、后缀表达式将运算符放在两操作数的后面。后缀表达式也称逆波兰表达式,因其使表达式求值变得轻松,所以被普遍使用。前缀和后缀表示法有三项公共特征:( 1) 操作数的顺序与等价的中缀表达式中操作数的
3、顺序一致( 2) 不需要括号( 3) 操作符的优先级不相关问题描述读入一个后缀表达式, 利用堆栈来计算该表达式的值,同时要效验后缀表达式是否正确。/*算法核心思想操作数入栈;遇到操作符时,操作数出栈,求值,将结果入栈;当一遍后,栈顶就是表达式的值。*/ #include #include #include using namespace std; typedef struct stack / 栈结构体 double num; stack *pre; stack; stack* top; / 定义全局变量栈顶名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年逆波兰表达式求值 2022 波兰 表达式 求值

限制150内