- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于中缀表达式与后缀表达式转换 第一步:将中缀表达式所有的子表达式按计算规则用嵌套括号括起来; 第二步:顺序将每对括号中的运算符移到相应括号后面; 第三步:删除所有括号。 例: a+b*( c-d )–e/f 中缀表达式 第一步: ((a+(b*( c-d )))–(e/f )) 第二步: ((a(b( c d )-)*) +(e f )/) – 第三步: abcd - * + e f / – 后缀表达式 5. 栈的应用——表达式计算 应用后缀表示计算表达式的值 从左向右顺序地扫描表达式,并用一个栈 暂存扫描到的操作数或计算结果。 在后缀表达式的计算顺序中已隐含了加括号 的优先次序,括号在后缀表达式中不出现。 计算例 A B C D - * + E F / - R1 R2 R3 R4 R5 4 + 2 * 3 - 10 / 5 # (中缀表达式) OPND OPTR 当前输入符c # 4 4 + # + + 2 2 * + * * 3 3 - * - 6 + - 10 # - - 10 10 / - / / 5 5 # / # 2 - # 8 # = # return 8 初始,# 进OPTR栈 4 2 3 * + 10 5 / - (后缀表达式) OPND 当前输入符c 4 2 return 8 4 2 3 3 * 2*3 6 + 4+6 10 10 5 10 5 / 10/5 2 - 10-2 8 5. 栈的应用——表达式计算 模拟一个简单的计数器 class Calculator //计数器类的定义 { public: Calculator(int sz):s(sz){} void Run(); private: SeqStackdouble s; bool Get2Operands( double left, double right); void DoOperator(char op); }; 模拟一个简单的计数器 void Calculator::Run() { char ch; double newOperand; while(cinch, ch!=#) { switch(ch) { case +: case -: case *: case /: DoOperator(ch); break; default: cin.putback(ch); cinnewOperand; s.Push(newOperand); } } s.output(); s.MakeEmpty(); } 模拟一个简单的计数器 void Calculator::DoOperator(char op) { double left, right, value; bool result; result=Get2Operands(left,right); if(result== true) switch(op) { case +: value=left+right; s.Push(value); break; case -: value=left-right; s.Push(value); break; case *: value=left*right; s.Push(value); break; case /: if(fabs(right)0.0001) { cout除数为0!\n; s.MakeEmpty(); } else { value=left/right; s.Push(value); } break; } else s.MakeEmpty(); } 模拟一个简单的计数器 bool Calculator::Get2Operands(double left,
您可能关注的文档
- 济南大学文学院中国古代文学课件 隋唐五代文学.ppt
- 济南大学文学院中国古代文学课件 魏晋南北朝文学.ppt
- 济南大学物理科学与技术学院数字电子技术课件第二章 门电路(1).ppt
- 济南大学物理科学与技术学院数字电子技术课件第二章 门电路(2).ppt
- 济南大学物理科学与技术学院数字电子技术课件第二章 门电路(3).ppt
- 济南大学物理科学与技术学院数字电子技术课件第二章 门电路(4).ppt
- 济南大学物理科学与技术学院数字电子技术课件第二章 门电路(5).ppt
- 济南大学物理科学与技术学院数字电子技术课件第六章 脉冲产生与整形电路.ppt
- 济南大学物理科学与技术学院数字电子技术课件第七章 数模与模数转换电路.ppt
- 济南大学物理科学与技术学院数字电子技术课件第三章 组合逻辑电路(1).ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)