长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告

长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告

ID:15182598

大小:71.00 KB

页数:13页

时间:2018-08-01

长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告_第1页
长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告_第2页
长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告_第3页
长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告_第4页
长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告_第5页
资源描述:

《长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、批阅实验报告年级班号学号姓名实验名称:栈的实现及其应用:算术表达式的计算实验日期2016年12月2日实验报告撰写内容一、实验环境二、实验目的三、实验内容四、数据结构与算法思想描述五、程序清单六、程序执行结果及其分析计算机科学与技术系2016年制一、实验环境32位操作系统下的Window平台MicrosoftVisualC++二、实验目的掌握栈的实现及使用三、实验内容1.实现栈的存储结构2.实现栈的基本操作的有关算法3.利用栈解决*算术表达式求值问题四、数据结构与算法思想描述顺序读取中缀表达式:1、当遇到数字时,将数字入数字栈2、当遇到操作符时,与操作符栈栈顶比较

2、:If(当前操作符优先级大于操作符栈栈顶的优先级)If(非”)”操作符)将当前操作符进操作符栈;ElseWhile(操作符栈栈顶不等于”(“)取操作符栈栈顶及数字栈的两个数进行运算,并将结果压入数字栈;ElseIf(非(“操作符)While(操作符栈栈顶不等于”(“)取操作符栈栈顶及数字栈的两个数进行运算,并将结果压入数字栈;Continue;(直到当前操作符比栈顶操作符优先级大)Else将当前操作符进操作符栈;3、While(操作符栈非空)操作符栈栈顶及数字栈的两个数进行运算,并将结果压入数字栈;4、在数字栈取最后结果并输出。一、程序清单//10*8^2+16

3、.3+5*(5.2*5+3.01)/4-(-10)+0.1000060+4.00416-40=666.666666//100+(-100)-(-10^2)=100//(((2016-2017+(((2015-2014))))))=0//-1+(((((((((1^0))))))))+100%10^2=0#include#include#include#include#include#includeusingnamespacestd;constintMAX=105

4、;typedefdoubleType;typedefstruct{TypeTypeStack[MAX];charcharStack[MAX];intTypeTop,charTop;}Stack;//初始化栈voidInitStack(Stack*S){S->charTop=S->TypeTop=0;}//判断charStack是否为空boolIsEmpty_Char(StackS){returnS.charTop==0;}//判断TypeStack是否为空boolIsEmpty_Type(StackS){returnS.TypeTop==0;}//判断charS

5、tack是否为满boolIsFull_Char(StackS){returnS.charTop==MAX;}//判断TypeStack是否为满boolIsFull_Type(StackS){returnS.TypeTop==MAX;}voidPush_Char(Stack*S,charch){//charStack不为满则入栈,否则输出提示if(!IsFull_Char(*S))S->charStack[S->charTop++]=ch;elsecout<<"TheCharStackIsFull!"<

6、pea){//TypeStack不为满则入栈,否则输出提示if(!IsFull_Type(*S))S->TypeStack[S->TypeTop++]=a;elsecout<<"TheTypeStackIsFull!"<charTop--;returnS->charStack[S->charTop];}elsecout<<"TheCharStackIsEmpty!"<

7、mpty_Type(*S)){S->TypeTop--;returnS->TypeStack[S->TypeTop];}elsecout<<"TheTypeStackIsEmpty!"<

8、tack[--S.Typ

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

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

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