电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构课程设计-表达式求值

数据结构课程设计-表达式求值_第1页
1/16
数据结构课程设计-表达式求值_第2页
2/16
数据结构课程设计-表达式求值_第3页
3/16
XX X X XX 大学《数据结构》课程设计报告班级:学号:姓名:指导老师:目 录一 算术表达式求值一、需求分析二、程序得主要功能三、程序运行平台四、数据结构五、算法及时间复杂度六、测试用例七、程序源代码二 感想体会与总结算术表达式求值一、需求分析一个算术表达式就是由操作数(o p eran d)、运算符(operator)与界限符(de l imiter)组成得。假设操作数就是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号与表达式起始、结束符“#”,如:#(7+15)*(2 3—2 8/4)#。引入表达式起始、结束符就是为了方便.编程利用“算符优先法”求算术表达式得值.二、程序得主要功能(1) 从键盘读入一个合法得算术表达式,输出正确得结果。(2) 显示输入序列与栈得变化过程。三、程序运行平台Vi s u a l C++ 6、0 版本四、数据结构本程序得数据结构为栈。(1)运算符栈部分:struct SqSta c k //定义栈{ char *base; //栈底指针 cha r *to p; //栈顶指针 in t stac k si z e; //栈得长度};in t InitS t ack (Sq St ack &s) //建立一个空栈 S { i f (!(s、ba se = (char *)m alloc(5 0 * s izeof(ch a r)))) ex i t(0); s、t op=s、b a se; s、sta c ksi ze=5 0; retu r n OK;} c har Ge t Top(SqStack s,char &e) //运算符取栈顶元素 { i f (s、t op==s、b ase) //栈为空得时候返回 E R ROR {ﻩ pr i ntf("运算符栈为空!\n");ﻩ re t urn ER RO R; } else e=*(s、t o p-1); //栈不为空得时候用e做返回值,返回 S 得栈顶元素,并返回 OK return OK;} i nt Push(SqStac k &s,c ha r e) //运算符入栈 { if (s、t o p—s、ba s e >= s、s tacks i z e) ﻩ{p ri n tf("运算符栈满!\n"); ﻩs、bas e=(c h a r*)re a llo c (s、b as e,(s、s t ack si ze+5)*s izeof(c h ar) ); //栈满得时候,追加 5 个存储空间 i f(!s、bas e) ex i t (OVER FL OW);s、top=s、ba s e+s、st ac k size; s、s ta c ksi ze+=5;}ﻩ*(s、t op)++=e; //把 e 入栈ﻩr eturn OK;} i n t Pop(SqS...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构课程设计-表达式求值

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部