括号匹配 实验报告

括号匹配 实验报告

ID:39184818

大小:162.93 KB

页数:11页

时间:2019-06-26

括号匹配 实验报告_第1页
括号匹配 实验报告_第2页
括号匹配 实验报告_第3页
括号匹配 实验报告_第4页
括号匹配 实验报告_第5页
资源描述:

《括号匹配 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本科生实验报告实验课程数据结构学院名称核技术与自动化工程学院专业名称测控技术与仪器专业学生姓名学生学号指导教师实验地点6C802实验成绩二〇16年3月二〇16年3月填写说明1、适用于本科生所有的实验报告(印制实验报告册除外);2、专业填写为专业全称,有专业方向的用小括号标明;3、格式要求:①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准)

2、;页码用小五号字底端居中。③具体要求:题目(二号黑体居中);摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体);关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体);正文部分采用三级标题;第1章××(小二号黑体居中,段前0.5行)1.1×××××小三号黑体×××××(段前、段后0.5行)1.1.1小四号黑体(段前、段后0.5行)参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献著录规则(GB/T7714-2005)》。一、问题描述假设表达式中允许包含两种括号

3、:圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[()等为不正确的格式。检验括号是否匹配。二、问题分析(1)数据条件要求输入随意含有[,],(,),{,},的数据利用栈的特性完成此次括号匹配。(2)操作条件要求VisualC++中利用栈的应用表达此过程三、数据结构设计(1)逻辑结构设计栈的结构运行(2)物理结构设计栈的应用四、算法设计(核心子函数)(1)算法列表序号名称函数表示符操作说明1输出函数Printf输出一个函数的值2主函数main程序的主函数3条件语句If表示条件的选择4字符型语句Cha

4、r表示字符(2)算法描述(描述核心算法)..Seqstack*Seqstack_Init(){Seqstack*seqstack;seqstack=(Seqstack*)malloc(sizeof(Seqstack));seqstack->top=0;returnseqstack;}intSeqstack_Pop(Seqstack*seqstack){if(seqstack->top==0){printf("栈为空");return0;}seqstack->top--;returnseqstack->ch[seqstack->t

5、op];}voidseqstack_Push(Seqstack*seqstack,charc){if(seqstack->top==Length){printf("栈溢出");return;}seqstack->ch[seqstack->top]=c;seqstack->top++;}voidcheck_symbol(Seqstack*seqstack,char*a){inti;seqstack_Push(seqstack,a[0]);for(i=1;i

6、k->ch[seqstack->top-1]=='[')

7、

8、(a[i]==')'&&seqstack->ch[seqstack->top-1]=='(')

9、

10、(a[i]=='}'&&seqstack->ch[seqstack->top-1]=='{')){Seqstack_Pop(seqstack);}else{seqstack_Push(seqstack,a[i]);}}if(seqstack->top==0){printf("括号匹配");}else{printf("括号不匹配");}利用栈的先进后出的性质完成括

11、号匹配的要求。在算法中设置一个栈,没读入一个括号,若是右括号,则或者使置于栈顶的最急迫的期待得以消除,或者是不合法的情况;若是左括号,则作为一个新的更急迫的期待压入栈中,自然使原有的在栈中的所有未消解的期待的急迫性都降了一级。五、数据说明(变量含义)变量i表示循环变量;Length表示栈的长度;变量a表示数组六、源程序清单.#include#include#include#defineLength100typedefstructstack{charch[50];inttop;

12、}Seqstack;Seqstack*Seqstack_Init(){Seqstack*seqstack;seqstack=(Seqstack*)malloc(sizeof(Seqstack));seqstack->top=0;ret

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

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

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