括号匹配实验报告讲述.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科生实验报告实验课程数据结构学院名称 核技术与自动化工程学院专业名称 测控技术与仪器专业学生姓名学生学号指导教师实验地点6C802实验成绩二〇16年3 月二〇16 年 3月填写说明适用于本科生所有的实验报告(印制实验报告册除外);专业填写为专业全称,有专业方向的用小括号标明;格式要求:用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准);页码用小五号字底端居中。具体要求:题目(二号黑体居中);摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体);关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体);正文部分采用三级标题;第1章 ××(小二号黑体居中,段前0.5行)1.1 ×××××小三号黑体×××××(段前、段后0.5行)1.1.1小四号黑体(段前、段后0.5行)参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献著录规则(GB/T 7714-2005)》。问题描述假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[()等为不正确的格式。检验括号是否匹配。二、问题分析(1)数据条件要求输入随意含有[,],(,),{,},的数据利用栈的特性完成此次括号匹配。(2)操作条件要求Visual C++中利用栈的应用表达此过程三、数据结构设计(1)逻辑结构设计栈的结构运行(2)物理结构设计栈的应用四、算法设计(核心子函数)(1)算法列表序号名称函数表示符操作说明1输出函数Printf输出一个函数的值2主函数main程序的主函数3条件语句If表示条件的选择4字符型语句Char表示字符(2)算法描述(描述核心算法)..Seqstack *Seqstack_Init(){Seqstack *seqstack;seqstack=(Seqstack *)malloc(sizeof(Seqstack));seqstack-top=0;returnseqstack;}intSeqstack_Pop(Seqstack *seqstack){if (seqstack-top==0) {printf(栈为空\n);return 0; }seqstack-top--;returnseqstack-ch[seqstack-top];}voidseqstack_Push(Seqstack *seqstack,char c){if (seqstack-top==Length) {printf(栈溢出\n);return ; }seqstack-ch[seqstack-top]=c;seqstack-top++;}voidcheck_symbol(Seqstack *seqstack,char *a){inti;seqstack_Push(seqstack,a[0]);for (i=1;istrlen(a);i++) { if ((a[i]==]seqstack-ch[seqstack-top-1]==[)||(a[i]==)seqstack-ch[seqstack-top-1]==()||(a[i]==}seqstack-ch[seqstack-top-1]=={)) {Seqstack_Pop(seqstack); }else {seqstack_Push(seqstack,a[i]); } }if(seqstack-top==0) {printf(括号匹配\n\n); }else {printf(括号不匹配\n\n);}利用栈的先进后出的性质完成括号匹配的要求。在算法中设置一个栈,没读入一个括号,若是右括号,则或者使置于栈顶的最急迫的期待得以消除,或者是不合法的情况;若是左括号,则作为一个新的更急迫的期待压入栈中,自然使原有的在栈中的所有未消解的期待的急迫性都降了一级。五、数据说明(变量含义)变量i表示循环变量;Length表示栈的长度;变量a表示数组六、源程序清单.#include stdio.h#include stdlib.h#include string.h#define Length 100typedefstruct stack{charch[50];int top;}Seqstack;Seqstack *Seqstack_Init(){Seqstack *seqstack;seqstack

文档评论(0)

2266670 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档