- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计---括号匹配问题
计算机工程学院
课程设计报告
课程名称:数据结构课程设计
设计题目: 括号匹配问题
院 系: 计算机工程学院
专 业:
组 别:
学生姓名: 学 号:
起止日期: 年月日 ~年月日
指导教师:
目录
1.需求分析 2
1.1课程设计题目 2
1.2 课程设计任务及要求 2
1.3 课程设计思想 2
1.4软硬件运行环境及开发工具 2
1.概要设计 2
2.1课题设计的流程图 2
2.2主要的数据结构 3
3.详细设计 4
3.1课题设计的方法及原理 4
3.2主要代码实现 4
4.调试与操作说明 5
5.总结与体会 6
6.致谢 7
7.参考文献 7
1.需求分析
1.1课程设计题目
括号匹配问题
1.2 课程设计任务及要求
假设一个算术表达式中可包含三种括号:圆括号,方括号和花括号且这三种括号可按任意次序嵌套使用。试利用栈的运算,编写判别给定表达式中所含括号是否正确配对出现的算法。
1.3 课程设计思想
利用栈来判断括号是否匹配时,遇到左括号就进栈,遇到右括号则左括号出栈,代表这对括号匹配,如果右括号进栈时,栈为空,则说明缺少左括号,若表达式扫描完栈为空,则说明表达式的括号匹配,否则说明表达式缺少左括号。
1.4软硬件运行环境及开发工具
Microsoft visual C++ 6.0
1.概要设计
2.1课题设计的流程图
2.2主要的数据结构
栈类包括如下数据成员和成员函数
top; //指向栈顶的指针 LinkStack(); //构造函数
bool isEmpty(); //判断栈是否为空
void Push(T x); //x进栈,top指向x
T Pop(); //栈顶元素出栈
T GetPop(); / /读取栈顶元素 bool Search(T x); //搜素栈中是否有x这个元素 void OutPut(); //输出栈内所有元素
3.详细设计
3.1课题设计的方法及原理
1)定义三个栈 s1,s2,s3分别用来判断圆括号,方括号和花括号是否匹配
2)对s1,s2,s3均有如下操作:
a.利用动态指针p依次对输入的(字符串)表达式进行扫描
I.若为左括号,则进栈
II若为右括号,则先取栈顶元素。若栈顶元素为空,则缺少左括号;若不为空,则栈顶元素出栈
b.当字符串扫描完,检验栈是否为空。若为空,则括号正确匹配。否则表示缺少右括号
3.2主要代码实现
sign1 ,sign2 ,sign3是分别用来标记栈是否为空
while(*p!=#)
{
switch(*p)
{
case(:
s1.Push(*p);
break;
case):
if(s1.isEmpty())
{
sign1=false;
cout缺少(endl;
}
else
s1.Pop();
break;
case[:
s2.Push(*p);
break;
case]:
if(s2.isEmpty())
{
sign2=false;
cout缺少[endl;
}
else
s2.Pop();
break;
case{:
s3.Push(*p);
break;
case}:
if(s3.isEmpty())
{
sign3=false;
cout缺少{endl;
}
else
s3.Pop();
break;
default:
break;
}
p++;
}
4.调试与操作说明
检验圆括号是否正确匹配
检验方括号是否
您可能关注的文档
最近下载
- QBT5510-2021 家用电冰箱保鲜性能试验方法.pdf VIP
- 纸箱生产技术培训.docx VIP
- 金属成型软件:PAM-STAMP二次开发_(14).用户界面与图形编程.docx VIP
- TJ9-74 工业与民用建筑结构荷载规范.pdf VIP
- ±800kV及以下直流架空输电线路工程施工及验收规程.pdf VIP
- 2025年勘察设计注册土木工程师水利水电工程资格考试基础考试大纲.pdf VIP
- 纸箱生产工艺流程.ppt VIP
- 2025汽车驾驶员高级技师基本理论知识考试题(+答案解析).docx VIP
- 固化剂化学品安全技术说明书.docx VIP
- 浙江省居住建筑节能设计标准.pdf VIP
文档评论(0)