线性表及其应用_第1页
线性表及其应用_第2页
线性表及其应用_第3页
线性表及其应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——线性表及其应用

哈尔滨工业大学计算机科学与技术学院

试验报告

课程名称:数据结构与算法课程类型:必修

试验项目名称:线性表及其应用试验题目:算术表达式求值

班级:1003201

学号:姓名:

设计成绩报告成绩指导老师一、试验目的

1.把握栈的数据结构与基本操作2.了解什么是中缀表达式和后缀表达

3.了解并把握中缀表达式转为后缀表达式的方法4.把握使用栈结构求解后缀表达式的求值方法5.提高利用计算机分析和解决繁杂实际问题的能力二、试验要求及试验环境1.试验要求:

(1)从键盘输入任意一个语法正确的(中缀)表达式,显示并保存该表达式。

(2)利用栈结构,把上述(中缀)表达式转换成后缀表达式,并显示栈的状态变化过程和所得到的后缀表达式。

(3)利用栈结构,对上述后缀表达式进行求值,并显示栈的状态变化过程和最终结果。

2.试验环境:

Windows7操作系统DevcC++编译器

三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)

程序中用到的数据类型的定义:

charstring1[100];//存放表达式

structStack{//定义一个栈chardata[maxlength];inttop;

};

typedefstructStackstack1;

stack1output1;//存放操作符

stackoutput1;//存放后缀表达式的数字的栈

主程序流程图:

弹出栈内所有元素存入结尾数组低直接压入栈中开始输入一个以字符串形式定义的运算式并保存至数组string1[100]中,声明一个运算符栈用来存放运算符指针遍历字符串数组高直接存入结尾数组中与栈顶运算符比较直接压入栈中并在结尾数组中存入空格弹出栈内与之匹配的(前的所有运算符并存结尾数组中为运算符存入空格为数字判断字符串数组每一个单元的内容为(存入空格为)

将栈内元素全部存至结尾数组中弹出整型栈中的两个元素进行相应的加减乘除运算,并将运算结果重新压入栈中为运算符将空格之前到前一个空格之间的所有存入数字数组中的数字进行位数计算得到一个新的数字压入栈中将字符型转换为整型存入一个数字数组中去遍历结尾数组中的每一个元素申请一个新的整型栈用于后缀表达式计算将后缀字符串和计算得到的结构输出判断每一个元素的内容为“〞为数字

终止各程序模块之间的调用关系:

in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论