- 1
- 0
- 约8.57千字
- 约 82页
- 2019-03-09 发布于福建
- 举报
第三章 栈军和队列
如何从后缀式求值? 先找运算符, 再找操作数 例如: 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的
您可能关注的文档
- 第九章 卤代烃 (al临kyl halides).ppt
- 第九章 三相异步电动机的机械特性及各种运转状态 第一节 三相异步二电动机机械特性的三种表达式.ppt
- 第九章 身 储层多孔介质中的毛管压力及毛管压力曲线.ppt
- 第九章 学前儿童语言教育的方法与途径 学前儿童语言教育的方法学前理儿童语言教育的途径.ppt
- 第九章. 查找 (chaer 9. searching) 查找运算是计算机边中最常用的操作之一。有人统计过,计算机大约有40%的运算是与查找相关的。.ppt
- 第九章 直线、平面、简单几西何体 棱锥.ppt
- 第九章 这 记 忆.ppt
- 第九章 直线、平面、简单几入何体 球.ppt
- 第九章可 排序.ppt
- 第九章门 应 激.ppt
最近下载
- 2016春四年级数学下册 第4单元《小数的意义和性质》试题1(无答案)(新版)新人教版.doc VIP
- 二年级下册语文每日拼音词语默写单(1-8单元).pdf
- 支队党支部班子“加强理论武装、执行上级组织决定、做好群众工作“等六个方面2026年组织生活会班子对照检查材料.docx VIP
- TCECS 1538-2024 超高性能混凝土肋装配式楼板应用技术规程.pdf VIP
- 【物理】生活中的圆周运动课时2课件 2024-2025学年高一下学期物理人教版(2019)必修第二册.pptx VIP
- 物联电动移车装置设计.docx
- 组装车间现场管理.pptx VIP
- 原子物理学全本课件(褚圣麟,第一至第十章全部课件).pptx VIP
- 2026年中级社会工作者《社会工作法规与政策》各章节考点汇总(三色宝典).pdf
- 短视频新闻案例.pptx VIP
原创力文档

文档评论(0)