后缀表达式求值 使用一个栈,当从左向右扫描表达式时,每遇到一个操作数就送入栈中保存,每遇到一个运算符就从栈中取出两个操作数进行当前的计算,然后把结果再入栈,直到整个表达式结束,这时送入栈顶的值就是结果。 例如:3*(7 – 2 ) (1)要正确求值,首先了解算术四则运算的规则: a. 从左算到右 b. 先乘除,后加减 c. 先括号内,后括号外 由此,此表达式的计算顺序为: 3*(7 – 2 )= 3 * 5 = 15 中序表达式计算 (2)根据上述三条运算规则,在运算的每一步中,对任意相继出现的算符?1和?2 ,都要比较优先权关系。 栈的应用(中缀表达式求值) + - * / ( ) # + - * / ( = ) # = 当前运算符 栈顶运算符 运算符的优先级比较 (3)算法思想: 设定两栈:操作符栈 OPTR ,操作数栈 OPND 栈初始化:设操作数栈 OPND 为空;操作符栈 OPTR 的栈底元素为表达式起始符 ‘#’; 依次读入字符:是操作数则入OPND栈,是操作符则要判断: if 当前表达式操作符 栈顶元素,则退栈、计算,结果压入OPND栈; 当前表达式操作符
您可能关注的文档
最近下载
- 30.施工组织设计方案 (完整版).pdf
- 盘州市2024-2025学年七年级下学期语文期中测试试卷.doc VIP
- 【实用标准】零碳工厂创建与评价通则.docx VIP
- 名著导读昆虫记.pptx VIP
- 中小学教师高级职称评聘答辩试题(附答案).docx
- 高炉干法除尘煤气管道腐蚀分析.docx VIP
- SPC培训考试试题(含答案).docx VIP
- (正式版)DB41∕T 2863-2025 《夏玉米密植滴灌生产技术规程》.pdf VIP
- 2025年福建省福州市中考地理质检试卷及答案.docx VIP
- 《2022年加拿大妇产科医师协会“未足月胎膜早破的诊断与管理”指南》解读.pptx VIP
原创力文档

文档评论(0)