- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构括号匹配课程设计报告.doc
安徽三联学院
《数据结构》课程设计
班级:计算机科学与技术系
计算机科学与技术专业2008级(2)班
组别: 第八 组
组长: 徐 恒
组员:何洋洋、枉林然、魏世捷、王煜、戴文强
完成日期:2010.1.20
题目:括号匹配检验
一、 问题描述:
假设一个算术表达式可以包含3种括号:圆括号“(”和“)”,方括号“[”和 和花括号“{”和“}”且这三种括号可按照任意次序嵌套使用(如:…[…{…}… […]…]…[…]…(???)…)。设计一个程序,判别所给定表达式中所含括号是否 匹配。
二、 要求:
将算术表达式保存在带头结点的单链表屮;
在1中建立的单链表上实现括号匹配问题的求解。
三、 解决问题思路:
1、 首先建立带头结点的单链表,单链表的数据域存储字符数据,指针域为结
点型指针。设立字符型数组先将算术表达式输入到数组当屮,通过插入节 点函数将数组中字符全部插入到单链中1中。
2、 建立单链表2,通过switch, case语句将单链表1屮的括号字符全部插入到 单链表2中。
3、 调用括号匹配函数将,单链表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 M配时,此 时将 temp-〉next-〉next 与 temp-〉next-〉next-〉-〉next 全部值为空值。 且temp-〉next未找到匹配字符时将temp重新赋为temp-〉next,进行新的 判断。
4、 最后,若单链表p为空则则说明表达式中括号匹配;若p不为空,则说明 算术表达式中括号不匹配。
运行环境:
1、 编辑主要环境为 microsoft visualC++6. 0。
2、 调试运行环境为Turbo C2. 0o
五、组员分工情况:
1、 何洋洋、汪林然负责单链表相关函数的编写;
2、 王煜、洪小龙负责收集和关材料和参考资料;
3、 徐恒、戴文强负责整理、编译和调试。/
六、 遇到的困难及解决问题的办法:
1、 最后在调试程序时发现许多错误,例如函数类型不匹配、没有合适的指针、 未定义变量、句法错误、函数声明错误、不合法的指针、有未使用的变量、 定义不正确等。先是找同学帮助,然后自己学着改错。慢慢的自己学会改 错,并找到相关资料来找出的修改方法。
2、 遇到实在不懂的地方,就找组员和同学一起讨论,找到问题的根本原因, 然后加以纠正。
七、 源代码及 :
括号匹配源程序代码及
.#include stdio.h#include string.h#include stdlib.h#define LEN 80 typedef struct list {
.#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=a; initlist(p);/*
void main()
{
char test[LEN]; int i; list a,b;
linklist p,q=b; p=a; initlist(p);
/*主函数*/
/*设立P为list结点指针*/ 产使P指向头结点a*/
/*使p为第一个节点*/
printf(Pliease input the expression:、!!”); scanf(’’%80s’’,test);
for(i=0;iLEN;i++)
creatlist_node(q,test[i]);
表q中*/
/*将数组中算术表达式存入单链
for(
您可能关注的文档
- 教育经费保障工作专题调研.doc
- 教育网建设策划方案.doc
- 教育群众路线活动.doc
- 教育行风现状调研报告.doc
- 教育规划应少些功利.doc
- 教育视角下自制小学音乐学具对兴趣度的培养毕业论文(设计)..doc
- 教育论文flash动画制作教学过程中学生创新能力的培养刍议.doc
- 教育论文hpl法测定肿节风提取物中反丁烯二酸的方法及优化2.doc
- 教育论文中职卫校外科护理学实训课探讨.doc
- 教育论文中职卫校多媒体教学存在的问题及对策研究.doc
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
最近下载
- 一级生物安全实验室应急预案培训计划.docx
- 《大数据分析与应用》全套教学课件.pptx
- [全国高校统编教材法语][北外马晓宏版][1-4册][第二册词汇表].doc VIP
- 初中化学竞赛辅导培训.ppt VIP
- 灵魂三问,思辨推进,辩证回应——2024北京高考卷“历久弥新”作文讲评课件.pptx VIP
- 四年级语文上册复习课件-知识点专项复习 (共22张PPT)部编版.pptx VIP
- 宪法宣传优秀课件.ppt VIP
- 多频微带天线设计.docx VIP
- T CAQI 252-2022《无化学阻垢剂饮用水处理器》.pdf
- 部编版四年级上册语文-生字专项期末总复习复习课件 (共21张PPT).pptx VIP
原创力文档


文档评论(0)