数据结构大作业
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子与信息工程学院数据结构大作业
系别:电子与信息工程学院
班级:
姓名:
学号:
指导教师:
数据结构实验报告
一、实验目的
表达式求值。
一个算术表达式是由操作数、运算符和界限符组成。假设操作数是正整数,运算符只含加减乘除四种运算符,界限符有左右括号和表达式起始、结束符“#”。要求从键盘读入一个合法的算术表达式,输出正确的结果,并显示输入序列。
二、数据结构设计
任何一个表达式都是由操作符,运算符和界限符组成的。我们分别用顺序栈来寄存表达式的操作数和运算符。栈是限定于紧仅在表尾进行插入或删除操作的线性表。顺序栈的存储结构是利用一组连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设栈顶指针指示栈顶元素在顺序栈中的位置,栈底为栈底指针,在顺序栈中,它始终指向栈底,即栈顶指针=栈底指针可作为栈空的标记,每当插入新的栈顶元素时,栈顶指针增1,删除栈顶元素时,栈底指针减1。
三、总体设计
1.首先置操作数栈为空栈,表达式起始符”#”为运算符栈的栈底元素;
2.依次读入表达式,若是操作符即进栈,若是运算符则和栈的栈顶运算符比较优先权后作相应的操作,直至整个表达式求值完毕(即栈的栈顶元素和当前读入的字符均为”#”)。
四、主要界面
主界面