- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何从后缀式求值? 先找运算符, 再找操作数 例如: Exp = a ? b + (c ? d / e) ? f 前缀式: + ? a b ? ? c / d e f 中缀式: a ? b + c ? d / e ? f 后缀式: a b ? c d e / ? f ? + 结论: 1)操作数之间的相对次序不变; 2)运算符的相对次序不同; 3)中缀式丢失了括弧信息, 致使运算的次序不确定; 4)前缀式的运算规则为: 连续出现的两个操作数和在它们 之前且紧靠它们的运算符构成一 个最小表达式; 5)后缀式的运算规则为: 运算符在式中出现的顺序恰为 表达式的运算顺序; 每个运算符和在它之前出现 且 紧靠它的两个操作数构成一个最小 表达式; 例如: a b ? c d e / ? f ? + a?b d/e c-d/e (c-d/e)?f 如何从原表达式求得后缀式? 每个运算符的运算次序要由它之后的一个运算符来定,在后缀式中,优先数高的运算符领先于优先数低的运算符。 分析 “原表达式” 和 “后缀式”中的运算符: 原表达式: a + b ? c ? d / e ? f 后缀式: a b c ? + d e / f ? ? 从原表达式求得后缀式的规律为: 1) 设立暂存运算符的栈; 2) 设表达式的结束符为“#”, 予设运算符栈的栈底为“#” 3) 若当前字符是操作数, 则直接发送给后缀式; 4) 若当前运算符的优先数高于栈顶运算符,则进栈; 5) 否则,退出栈顶运算符发送给后缀式; 6) “(” 对它之前后的运算符起隔离作用,“)”可视为自相应左括弧开始的表达式的结束符。 从原表达式求得后缀式的规律为: void transform(char suffix[ ], char exp[ ] ) { InitStack(S); Push(S, ?#?); p = exp; ch = *p; while (!StackEmpty(S)) { if (!IN(ch, OP)) Pass( Suffix, ch); else { } if ( ch!= ?#? ) { p++; ch = *p; } else { Pop(S, ch); Pass(Suffix, ch); } } // while } // CrtExptree … … switch (ch) { case ?(? : Push(S, ch); break; case ?)? : Pop(S, c); while (c!= ?(? ) { Pass( Suffix, c); Pop(S, c) } break; defult : while(Gettop(S, c) ( precede(c,ch))) { Pass( Suffix, c); Pop(S, c); } if ( ch!= ?#? ) Push( S, ch); break; } // switch 例六、实现递归 将所有的实在参数、返回地址等信息传递给被调用函数保存; 为被调用函数的局部变量分配存储区; 将控制转移到被调用函数的入口。 当在一个函数的运行期间调用另一个函数时,在运行该被调用函数之前,需先完成三项任务: 保存被调函数的计算结果; 释放被调函数的数据区; 依照被调函数保存的返回地址将控制转移到调用函数。 从被调用函数返回调用函数之前,应该完成下列三项任务: 多个函数嵌套调用的规则是: 此时的内存管理实行“栈式管理” 后调用先返回 ! 例如: void main( ){ void a( ){ void b( ){ … … … a( ); b( ); … … }//main }// a }// b Main的
您可能关注的文档
- 2016《共产党领导的多党合作和政治协商制度:中国特色的政党制度》课件讲解.ppt
- 2016年毕业复习数学经典试题六(解直角三角形)讲解.doc
- 2016年初中毕业学业实践能力考试物理评分细则讲解.doc
- 专题三社会主义建设在探索中曲折发展讲述.ppt
- 2016《鹧鸪天建康上元作》讲解.ppt
- 2016年初中物理中考知识点汇总讲解.doc
- 专题三直线与椭圆综合讲述.doc
- 临建施工方案11.25讲述.doc
- 专题十、人体内物质的运输讲述.ppt
- 临时车库施工方案讲述.doc
- 2025甘肃西北师范大学招聘81人考试备考题库及答案解析.docx
- 2025年江西抚州幼儿师范高等专科学校附属幼儿园编外教师招聘8人考试备考题库及答案解析.docx
- 2025年西安市北方医院招聘(4人)考试备考题库及答案解析.docx
- 2025四川广元市华蓥市煤炭监督管理中心招聘煤矿驻矿安全监督员1人考试备考题库及答案解析.docx
- 小学四年级上册数学试卷期末卷精品【考试直接用】.docx
- 2025年荣县镇属事业单位面向“西部计划”志愿者定向考核招聘工作人员(7人)考试备考题库及答案解析.docx
- 2025年西安莲湖华强小学招聘考试备考题库及答案解析.docx
- 2025年蚌埠自贸区城发人力资源有限公司第五期招聘1人考试备考题库及答案解析.docx
- 2025黑龙江黑河学院下半年招聘事业编制思政课教师5人考试备考题库及答案解析.docx
- 2025年河北秦皇岛卢龙县招聘中小学教师100人考试备考题库及答案解析.docx
最近下载
- 悦纳自己——爱自己的100种方式(课件)高一下学期心理健康课(通用版).pptx VIP
- 浙江省消防技术规范难点问题操作技术指南-2025修订稿(定稿).docx
- 再生医学技术:2025年关节软骨修复研究前沿报告.docx
- 《电梯监督检验和定期检验规则》(TSG T7001-2023).docx VIP
- T CNAS 32─2023 注射相关感染预防与控制.pdf VIP
- 罗宾斯组织行为学第18版中文ppt1.pptx VIP
- 浙商中拓(000906)公司2023年财务分析研究报告.pdf
- 食材食品质量问题退换货方案.docx VIP
- 智能找车系统(数字1对1)调试手册.doc VIP
- 工业智能控制.pdf VIP
文档评论(0)