数据结构域算法设计-实验二___栈与队列的一个应用

数据结构域算法设计-实验二___栈与队列的一个应用

ID:14010498

大小:95.50 KB

页数:19页

时间:2018-07-25

数据结构域算法设计-实验二___栈与队列的一个应用_第1页
数据结构域算法设计-实验二___栈与队列的一个应用_第2页
数据结构域算法设计-实验二___栈与队列的一个应用_第3页
数据结构域算法设计-实验二___栈与队列的一个应用_第4页
数据结构域算法设计-实验二___栈与队列的一个应用_第5页
资源描述:

《数据结构域算法设计-实验二___栈与队列的一个应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中国计量学院实验报告中国计量学院实验报告实验课程:《算法与数据结构》实验名称:栈与队列的一个应用班级:14计算机1实验日期:实验角色DocumentWriterProgrammerTester学号14003031071400303105140303111姓名张峰朱沈辉李佳骏实验成绩实验目的及要求:一、实验目的1、了解栈和队列的特性2. 掌握栈和队列的顺序表示及实现3. 掌握栈和队列的链式表示及实现4、学会利用栈或队列去求解实际问题二、实验要求从键盘输入包括任意三种括号(即,圆括号()、方括号[]和花括号{})的

2、四则运算(+、-、*、/)表达式,编程判断该表达式的括号是否匹配。若匹配则计算出表达式的值;若不匹配,则输出“此表达式括号不匹配”。实验中,假设:(1)除括号不匹配外,不存在其它非法表达式的情况(2)表达式中只出现数值常量,不出现变量或符号常量三、实验角色1、DocumentWriter:ADT设计及实验所涉资料的整理、录入及排版2、Programmer:算法设计及实现3、Tester:确定测试用例并负责程序测试,测试用例不少于15种19中国计量学院实验报告数据结构及关键算法说明这一部分描述解决问题所用到的数据

3、结构及关键算法,可用伪代码、代码或框图表示,目的是让读者在短时间内清楚地理解作者解决问题的整体思路。因此,表达方式必须比源代码更通俗易懂。typedefstructSqStack//栈的顺序存储结构{SElemType*base;SElemType*top;intstacksize;}SqStack;charPrecede(chara1,chara2)//判定运算符的优先级。{charr;switch(a2){case'+'://此处由于加减几乎优先级一样,故放在一起case'-':if(a1=='('

4、

5、a1

6、=='['

7、

8、a1=='{'

9、

10、a1=='#')r='<';elser='>';break;case'(':if(a1==')'){cout<<"括号匹配错误!"<

11、sion()//算符表达式的优先算法。设OPTR和OPND分别为运算符栈和运算数栈{while(c!='#'

12、

13、e!='#')//栈顶不是#号且输入不是#号{if(In(c))//是符号则进栈{switch(Precede(e,c)){case'<'://栈顶元素优先级低Push(OPTR,c);c=getchar();19中国计量学院实验报告break;case'='://脱括号并接受下一字符Pop(OPTR,e);c=getchar();break;case'>'://退栈并将运算结果入栈Pop(OPTR,

14、e);Pop(OPND,b);Pop(OPND,a);Push(OPND,Operate(a,e,b));break;}}19中国计量学院实验报告测试用例表紧扣实验要求,设计(并填写)一张测试用例表。每个测试用例一般应包括下列内容:1.测试输入:设计一组输入数据;2.测试目的:设计该输入的目的在于测试程序在哪方面可能存在漏洞;3.预期输出:若程序正确,应该输出的结果;4.实际输出:程序运行后,实际得到的输出结果;5.错误原因:如果实际输出与预期输出不符,给出产生错误的可能原因;6.当前状态:“通过”或者“待修改

15、”两种状态之一。【注意】测试时,不是提供简单的几组数据让程序容易通过,从而宣称该程序是正确的,而是精心设计“刁难”的数据,尽可能让程序暴露问题,这样才能真正帮助程序员完成正确的程序。测试输入预期输出实际输出错误原因当前状态(1+2*[1-2)/4]#error!括号匹配错误error!括号匹配错误通过1+{2*[6-1]}#结果为:11结果为:11通过(6-8*2)/{3-[2-6]}#结果为-1.4287结果为:-1.4287通过{6-[1]}*(6/2)#结果为:15结果为:15通过(6-9[)]#erro

16、r!括号匹配错误error!括号匹配错误通过666*{[(23+20)-21*2]}#结果为:666结果为:66619中国计量学院实验报告通过(24-12*2)/99999#结果为:0结果为:0通过233/(2*2-{3*5)-2}#error!括号匹配错误error!括号匹配错误通过2.5/2*(6.2-5.3)*[(2-1)*2.5]#结果为:2.8125结果为:2.8125通过6

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。