




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告实验内容:算术表达式求值班 级:计算机1203班成 员:黄健 20123871尹东辉 20123880张新华 20123884数据结构实验报告一课题概述1二概要设计原理1三详细程序清单及注释说明1四运行与测试及结果5五心得体会6六参考文献66一课题概述1.实验目的:栈和队列应用类实验题目参考2.实验内容:算术表达式求值 【问题描述】 由输入的四则算术表达式字符串,动态生成算术表达式所对应的后缀式,通过后缀式求值并输出。【实验要求】 设计十进制整数四则运算计算器。 (1)采用顺序栈等数据结构。可以将数据存储在顺序表中。 (2)给定表达式字符串,后缀表达式。 (3)对后缀表达式求值并输出。二概要设计原理1. 数据结构设计任何一个表达式都是由操作符,运算符和界限符组成的。我们分别用顺序栈来寄存表达式的操作数和运算符。栈是限定于紧仅在表尾进行插入或删除操作的线性表。顺序栈的存储结构是利用一组连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置,base为栈底指针,在顺序栈中,它始终指向栈底,即top=base可作为栈空的标记,每当插入新的栈顶元素时,指针top增1,删除栈顶元素时,指针top减1。2. 算法设计为了实现算符优先算法。可以使用两个工作栈。一个称为OPTR,用以寄存运算符,另一个称做OPND,用以寄存操作数或运算结果。(1)首先置操作数栈为空栈,表达式起始符”#”为运算符栈的栈底元素;(2)依次读入表达式,若是操作符即进OPND栈,若是运算符则和OPTR栈的栈顶运算符比较优先权后作相应的操作,直至整个表达式求值完毕三详细程序清单及注释说明#include#include#include#include#define STACK_INIT_SIZE 100;typedef structint *base;int *top;int stacksize;SqStack1;typedef structchar *base;char *top;int stacksize;SqStack2;SqStack1 OPND;/运算数栈SqStack2 OPTR;/运算符栈char precede(char the,char c)/优先级if(the=+|the=-)if(c=+|c=-|c=)|c=#)return();else return();if(the=*|the=/)if(c=()return(); if(the=()if(c=)return(=);else return();if(the=#)if(c=#)return(=);else return(=48&c=0;k-) d=d+abk*pow(10,i-k-1); *OPND.top+=d; i=0;d=0; switch(precede(*(OPTR.top-1),c) case:theta=*-OPTR.top;abc=c; b=*-OPND.top;a=*-OPND.top; *OPND.top+=Operate(a,theta,b); break; printf(计算结果为:); return *(OPND.top-1);void main()printf(%dn,qiuzhi();四运行与测试及结果五心得体会这次实验设计让我更加了解并更加灵活运用大一学到的C程序设计和这个学期学到的数据结构。实验任务要求不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力和更加了解编程思想和编程技巧。这次课程设计让我有一个深刻的体会,编程最需要严谨,总是忘一些符号,比如分号或*等等,因为这些小失误浪费的时间也比较多。这个程序是我们4个人完成的,同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。实习中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们成功的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老旧电梯井道施工方案
- 四川大学《染整助剂化学》2023-2024学年第二学期期末试卷
- 惠州学院《微型计算机技术与应用》2023-2024学年第二学期期末试卷
- 武汉理工大学《文学写作》2023-2024学年第一学期期末试卷
- 2025年小学教室租赁合同
- 霍尼韦尔SM系统
- 2025至2031年中国卷式结束保护带行业投资前景及策略咨询研究报告
- pe管道拉管施工方案
- 2025至2031年中国二硫化硒洗液行业投资前景及策略咨询研究报告
- 2025至2030年中国钣金切割机数据监测研究报告
- 员工黄赌毒法制培训
- 2025年广西现代物流集团限公司校园招聘60人高频重点提升(共500题)附带答案详解
- 2025年度跨境电商平台公司合伙人股权分配与运营管理协议3篇
- 《线束制造工艺》课件
- 门诊医保管理制度培训
- 酒店物业租赁合同样本3篇
- 电力安全工作规程(完整版)
- 《广东省智慧高速公路建设指南(试行)》
- 《分布式生活垃圾中转站臭气处理技术规程》
- 波斯帝国课件
- 我国网络安全法
评论
0/150
提交评论