课程设计报告——括号匹配问题_第1页
课程设计报告——括号匹配问题_第2页
课程设计报告——括号匹配问题_第3页
课程设计报告——括号匹配问题_第4页
课程设计报告——括号匹配问题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

数据结构课程设计报告 1 1 1 设计目的设计目的 1 能根据实际问题的具体情况 结合数据结构课程中的基本理论和基本算 法 分析并正确确定数据的逻辑结构 合理地选择相应的存储结构 并能设计 出解决问题的有效算法 2 提高程序设计和调试能力 学生通过上机实习 验证自己设计的算法的 正确性 学会有效利用基本调试方法 迅速找出程序代码中的错误并且修改 3 初步掌握软件开发过程中问题分析 系统设计 程序编码 测试等基本 方法和技能 4 训练用系统的观点和软件开发一般规范进行软件开发 培养软件工作者 所应具备的科学的工作方法和作风 5 培养根据选题需要选择学习书籍 查阅文献资料的自学能力 2 2 设计内容设计内容 2 1 系统名称系统名称 括号匹配问题 括号匹配问题就是给定任意判别式 然后检验括号的配对 出现的情况 2 2 要求要求 假设一个算术表达式中可包含三种括号 圆括号 中括号 花括号且这三 种 括号可按任意次序嵌套使用 试利用栈的运算 编写判别给定式中所含括号是 否正确配对出现的算法 任意运用一种计算机语言 分析问题 写出具体程序 要求能够在对应的 系统中实现该问题的 实验通过计算机来完成 独立完成 可通过查阅资料来解决自己不会的问题 提高自己查阅文献的 能力级独立思考的能力 数据结构课程设计报告 2 3 3 程序设计步骤 程序设计步骤 3 1 程序流程分析图程序流程分析图 开始 给定判断的表达式 检验函数 左括号右括号 入栈找栈顶元素 是否与它配 配对删除栈顶 继续不配对 则不匹配 栈空匹配 栈不空 不匹配 结束 图 3 1 程序流程图 3 2 主要的数据结构类型主要的数据结构类型 typedef struct int top 数据结构课程设计报告 3 char Szstack MaxSize Text 3 3 程序功能模块函数程序功能模块函数 1 检验栈是否为空 bool IsEmpty Text G if G top 1 return true else return false 2 检验栈是否为满 bool IsFull Text G if G top MaxSize 1 return true else return false 3 弹出栈顶元素 char Pop Text G char n G Szstack G top return n 4 检验括号是否配对 int Check char A int i Text G G top 1 int L strlen A char c 数据结构课程设计报告 4 for i 0 i L i c A i switch c case G Szstack G top c printf 压入 top d n n G top break case G Szstack G top c printf 压入 top d n n G top break case G Szstack G top c printf 压入 top d n n G top break case if Pop G return 0 else G Szstack G top printf 当遇 出栈 top d n n G top break case if Pop G return 0 else G Szstack G top 数据结构课程设计报告 5 printf 当遇 出栈 top d n n G top break case if Pop G return 0 else G Szstack G top printf 当遇 出栈 top d n n G top break default break if IsEmpty G return 0 return 1 3 4 程序实现中函数之间的调用程序实现中函数之间的调用 先进行函数声明 在定义函数 再在功能函数及主函数中调用函数 实现 检验括号匹配的问题 主函数 int main Text G system color 1f char A MaxSize printf 请输入需要检验的括号 n n scanf s A if Check A 1 printf 括号匹配 n n n 数据结构课程设计报告 6 else printf n n n printf 括号不匹配 n n n return 0 4 调试分析调试分析 输入检验的表达式中的括号是否匹配 将进栈出栈过程在调试中显示出来 方便观察 现在输入各种表达式及括号 都能正确判别其中括号是否匹配 主要是通过栈来实现检验功能 栈在很多方面都可以用到的 用途广泛 5 测试结果测试结果 进入演示程序后 即显示主界面为 图 5 1 主界面 数据结构课程设计报告 7 输入判别式 界面显示结果为 匹配情况 图 5 2 括号匹配图 数据结构课程设计报告 8 图 5 3 括号匹配图 不匹配的情况 图 5 4 括号不匹配图 图 5 5 括号不匹配图 数据结构课程设计报告 9 6 课程设计小结课程设计小结 这次课程设计是运用 C 语言以及这学期所学习的数据结构的知识完成的 数据结构是由某一数据元素的集合和该集合中的数据元素之间的关系组成 当 拿到一个问题时 首先要分析问题 确定算法遇到的资源限制 然后确定必须 支持的基本运算 度量每个运算所受到的资源限制 基本运算包括向数据结构 插入一个新数据项 从数据结构中删除一个数据项和搜索指定的数据项 最后 选择最接近这些资源开销的数据结构 然后运用所学的语言将算法思想通过程 序表现出来 最后解决一个问题 本实验 我做的是检验括号匹配的问题 首先分析问题 理解题目意思 想出具体解决该问题的算法 通过栈的思想来解决问题 此次实验遇到困难不 多 算法比较简单 通过一个数组和一个栈就可以解决问题了 只是在刚开始 时 直接把判别式读入栈中 导致调试出现错误 一时无法解决 通过多次调 试检查得以解决 还有在该程序中遇到的问题是 将遇到的左括号压入栈中时 调用 Push 函数时 它的顶

温馨提示

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

评论

0/150

提交评论