数据结构-判别括号配对

数据结构-判别括号配对

ID:15994932

大小:161.50 KB

页数:16页

时间:2018-08-07

数据结构-判别括号配对_第1页
数据结构-判别括号配对_第2页
数据结构-判别括号配对_第3页
数据结构-判别括号配对_第4页
数据结构-判别括号配对_第5页
资源描述:

《数据结构-判别括号配对》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、武汉理工大学《数据结构》课程设计学号:课程设计题目判别括号配对学院计算机科学与技术学院专业计算机班级姓名指导教师20年月日16武汉理工大学《数据结构》课程设计目录课程设计任务书………………………31.设计题目…………………………42.问题描述…………………………43.实验目的…………………………44.实验分析…………………………44.1分析………………………………44.2括号不匹配的情况……………………44.3括号匹配的情况……………………44.4实验步骤……………………………55.设计………………………………55.1数据结构设计………………………65.2主要算法设计………………………85.3

2、测试用例设计………………………96.调试报告………………………………97.体会与总结…………………………9附表:1.源程序………………………………112.运行结果……………………………15评分表…………………………………1616武汉理工大学《数据结构》课程设计附件2:课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学系题目:判别括号配对一个算术表达式含圆括号、中括号、花括号,且它们可任意嵌套使用。写一程序,判断任一算术表达式中所含括号是否正确配对。(1)表达式从键盘输入。(2)利用栈求解此问题。(3)测试用例自己设计。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明

3、书撰写等具体要求)课程设计报告按学校规定格式用A4纸打印(书写),并应包含如下内容:1、问题描述简述题目要解决的问题是什么。2、设计存储结构设计、主要算法设计(用类C语言或用框图描述)、测试用例设计;3、调试报告调试过程中遇到的问题是如何解决的;对设计和编码的讨论和分析。4、经验和体会(包括对算法改进的设想)5、附源程序清单和运行结果。源程序要加注释。如果题目规定了测试数据,则运行结果要包含这些测试数据和运行输出,6、设计报告、程序不得相互抄袭和拷贝;若有雷同,则所有雷同者成绩均为0分。时间安排:1、第19周完成。2、7月1日14:00到计算中心检查程序、交课程设计报告、源程序(CD盘)。指导

4、教师签名:年月日系主任(或责任教师)签名:年月日16武汉理工大学《数据结构》课程设计1.设计题目判断括号配对的程序设计2.问题描述1、问题:一个算术表达式含圆括号、中括号、花括号,且它们可任意嵌套使用。写一程序,判断任一算术表达式中所含括号是否正确配对。2、要求:(1)表达式从键盘输入。(2)利用栈求解此问题。(3)测试用例自己设计。3、说明:检验表达式中的括号匹配情况。假设在一个算术表达式中,可以包含三种括号:圆括号"("和")",方括号"["和"]",以及花括号"{"和"}"。并且这三种括号可以按任意的次序嵌套使用。比如,.{..[......[...]...].}..(...)..。现在

5、需要设计一个算法,用来检验在输入的算术表达式中所使用括号的合法性。3.实验目的1.掌握顺序栈的类型定义方法。。2.掌握栈先进后出运算原则在解决实际问题中的应用3.掌握使用栈的原理来解决表达式中的括号配对问题。4.实验分析4.1分析:算术表达式中各种括号的使用规则为:出现左括号,必有相应的右括号与之匹配,并且每对括号之间可以嵌套,但不能出现交叉情况。我们可以利用一个栈结构保存每个出现的左括号,当遇到右括号时,从栈中弹出左括号,检验匹配情况。4.2括号不匹配的情况:在检验过程中,若遇到以下几种情况之一,就可以得出括号不匹配的结论。(1)当遇到某一个右括号时,栈已空,说明到目前为止,右括号多于左括号

6、;(2)从栈中弹出的左括号与当前检验的右括号类型不同,说明出现了括号交叉情况;(3)算术表达式输入完毕,但栈中还有没有匹配的左括号,说明左括号多于右括号。4.3括号匹配的情况表达式中允许含有三种括号,括号对之间允许嵌套,本实验编写一个程序判断从键盘输入的任意表达式中括号是否配对,括号不配对包括以下几种情况:(1)左括号多余(2)右括号多余(3)左右括号不匹配,如左圆括号对着的是右方括号等。16武汉理工大学《数据结构》课程设计4.4.实验步骤E1:创建一个顺序栈;E2:输入一串需要检验的括号到一个字符数组中;E3:判断数组中括号是否全部检验完了:E31:m=-1就退出循环;E32:m!=-1说明

7、还有括号需要检验:E321:遇到左括号,入栈;E322:遇到右括号,判断当前栈顶元素:E3221:栈顶元素是与之匹配的左括号,出栈;E3222栈顶元素不是与之匹配的左括号,令判定符=-1,退出循环。E4:判断括号是否匹配:E41:判断符=-1或者栈中还有元素,输出“括号不匹配”;E42:判断符=0并且栈中没有元素了,输出“括号匹配”;5.设计5.1数据结构设计栈的抽象数据类型如下:#defineS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。