数据结构-括号匹配课程设计报告.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-括号匹配课程设计报告

安徽三联学院 《数据结构》课程设计 班级: 计 算 机 科 学 与 技 术 系 计算机科学与技术专业2008级(2)班 组别: 第 八 组 组长: 徐 恒 组员:何洋洋、枉林然、魏世捷、王煜、戴文强 完成日期:2010.1.20 题目:括号匹配检验 一、问题描述: 假设一个算术表达式可以包含3种括号:圆括号“(”和“)”,方括号“[”和“]”,和花括号“{”和“}”且这三种括号可按照任意次序嵌套使用(如:…[…{…}…[…]…]…[…]…(…)…)。设计一个程序,判别所给定表达式中所含括号是否匹配。 要求: 将算术表达式保存在带头结点的单链表中; 在1中建立的单链表上实现括号匹配问题的求解。 解决问题思路: 首先建立带头结点的单链表,单链表的数据域存储字符数据,指针域为结点型指针。设立字符型数组先将算术表达式输入到数组当中,通过插入节点函数将数组中字符全部插入到单链中1中。 建立单链表2,通过switch,case语句将单链表1中的括号字符全部插入到单链表2中。 调用括号匹配函数将,单链表2的头节点调入函数当中,设立标志位has。当has取1时,说明找到一组匹配括号;当has取0时,当前一组括号不匹配。设立temp指向当前所要判断节点,将temp所指节点的值与temp-〉next节点的值相比较,利用匹配括号ASCII值相差1或2,相同则相差0;或不相同差值不为1、2或0。当temp与temp-〉next的差值为1或2时,说明找到一组匹配括号。Temp=temp-〉next;进行新的判断。当temp与temp-〉next的差值不为1或2时,将temp赋为temp-〉next;进行新一轮的判断。若temp-〉next-〉next与temp-〉next-〉next-〉next匹配时,此时将temp-〉next-〉next与temp-〉next-〉next-〉-〉next全部值为空值。且temp-〉next未找到匹配字符时将temp重新赋为temp-next,进行新的判断。 最后,若单链表p为空则则说明表达式中括号匹配;若p不为空,则说明算术表达式中括号不匹配。 运行环境: 编辑主要环境为microsoft visualC++6.0。 调试运行环境为Turbo C2.0。 组员分工情况: 何洋洋、汪林然负责单链表相关函数的编写; 王煜、洪小龙负责收集相关材料和参考资料; 徐恒、戴文强负责整理、编译和调试。/ 遇到的困难及解决问题的办法: 最后在调试程序时发现许多错误,例如函数类型不匹配、没有合适的指针、未定义变量、句法错误、函数声明错误、不合法的指针、有未使用的变量、定义不正确等。先是找同学帮助,然后自己学着改错。慢慢的自己学会改错,并找到相关资料来找出的修改方法。 遇到实在不懂的地方,就找组员和同学一起讨论,找到问题的根本原因,然后加以纠正。 源代码及注释: 括号匹配源程序代码及注释 #include stdio.h /*头文件*/ #include string.h #include stdlib.h #define LEN 80 typedef struct list { char node; /*数据域*/ struct list *next; /*指针域*/ }list,*linklist; /*节点类型*/ void initlist(linklist); /*函数声明*/ int isempty(linklist); int creatlist_node(linklist,char); Textlist(linklist); void main() /*主函数*/ { char test[LEN]; int i; list a,b; linklist p,q=b; /*设立P为list结点指针*/ p=a; /*使P指向头结点a*/ initlist(p); /*使p为第一个节点*/ printf(Pliease input the expression:\n)

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档