已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
例二、数制转换,例三、括号匹配的检验,例四、迷宫求解,例五、表达式求值,例一、大整数相加,大整数相加,相加从低位开始,输出从高位开始用两个栈保存操作数(大整数)结果保存到结果栈,数制转换的原理为:N=(Ndivd)d+Nmodd,例如:(1348)10转换成(2504)8的运算过程如下:,NNdiv8Nmod8,13481684,168210,2125,202,数制转换,voidconversion()/显示和输入的十进制数对应的八进制数值InitStack(S);scanf(%d,N);while(N)Push(S,N%8);N=N/8;while(!StackEmpty(S)Pop(S,e);printf(%d,e);/conversion,检验含两种括弧的表达式中括弧匹配的正确性。,如表达式中()或()等为正确的匹配,()或()或()均为不正确的匹配。,检验括弧匹配的方法可用“按期待的急迫程度进行处理”描述之。,例如,考虑下列括号序列:,(,(,),),可见,括弧匹配也遵循“后进先出”的规律。,如何表示下列“不匹配”的情况?,到来的右括弧非是所“期待”的;,来了一个“不速之客”;,直到结束,也没有等到“期待”的匹配;,算法的设计思想:,1)凡出现左括弧,则进栈;,2)凡出现右括弧,首先检查栈是否空?若栈空,则表明该“右括弧”多余否则和栈顶元素比较,若相匹配,则“左括弧出栈”否则表明不匹配,3)表达式检验结束时,若栈空,则表明表达式中匹配正确否则表明“左括弧”有余。,boolmatching(charexp,intn)/检测长度为n的字符序列exp中的括弧是否匹配inti=0;mat=true;InitStack(S);while(i=opj=opk,因此中缀式里的任一操作符须等到另一个优先级小于或等于它的操作符出现,才可输出到后缀式。,分析“原表达式”和“后缀式”中的运算符:原表达式:a+bc-d后缀式:abc+d-,如何从原表达式求得后缀式?,从原表达式求得后缀式的规律为:,1)设立暂存运算符的栈;,2)设表达式的结束符为“#”,予设运算符栈的栈底为“#”,3)若当前字符是操作数,则直接发送给后缀式;,4)若当前运算符的优先数高于栈顶运算符,则进栈;,5)否则,退出栈顶运算符发送给后缀式;,6)“(”对它之前后的运算符起隔离作用,“)”可视为自相应左括弧开始的表达式的结束符。,从原表达式求得后缀式的规律为:,利用栈将中缀表示转换为后缀表示,使用栈可将表达式的中缀表示转换成它的前缀表示和后缀表示。为了实现这种转换,需要考虑各操作符的优先级。,优先级操作符1单目-、!2*、/、%3+、-4、=5=、!=6”号与输入流最后的“;”号配对时。,中缀表达式转换为后缀表达式的算法,操作符栈初始化,将结束符#进栈。然后读入中缀表达式字符流的首字符ch。重复执行以下步骤,直到ch=#,同时栈顶的操作符也是#,停止循环。若ch是操作数直接输出,读入下一个字符ch。若ch是操作符,判断ch的优先级icp和位于栈顶的操作符op的优先级isp:,若icp(ch)isp(op),令ch进栈,读入下一个字符ch。若icp(ch)isp(op),退栈并输出。若icp(ch)=isp(op),退栈但不输出,若退出的是“(”号读入下一个字符ch。算法结束,输出序列即为所需的后缀表达式。,a(b(c+d/e)-f)#,#,a,(,b,(,c,+,d,/,e,/,/,+,+,-,f,-,#,另一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土石方挖掘机司机岗前管理综合考核试卷含答案
- 鉴定估价师变革管理模拟考核试卷含答案
- 2025年三峡电力职业学院辅导员考试笔试真题汇编附答案
- 浆丝机操作工操作技能水平考核试卷含答案
- 罐头封装工安全检查水平考核试卷含答案
- 羽绒羽毛加工处理工诚信测试考核试卷含答案
- 松香蒸馏工岗前纪律考核试卷含答案
- 2025年上海纺织工业职工大学辅导员招聘备考题库附答案
- 2024年湖州学院马克思主义基本原理概论期末考试题附答案
- 2025年互助县事业单位联考招聘考试真题汇编附答案
- 电工承包简单合同(2篇)
- 新能源电站单位千瓦造价标准值(2024版)
- 军队院校招生文化科目统一考试模拟试卷
- 03课题三-建筑运行大数据安全与数据质量-20180703
- 工业区物业服务手册
- 2024新能源集控中心储能电站接入技术方案
- 河南省信阳市2023-2024学年高二上学期期末教学质量检测数学试题(含答案解析)
- 零售行业的店面管理培训资料
- 培训课件电气接地保护培训课件
- 污水管网工程监理月报
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
评论
0/150
提交评论