括号匹配实验报告书

括号匹配实验报告书

ID:39558171

大小:127.00 KB

页数:5页

时间:2019-07-06

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

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

1、1.实验题目 括号匹配的检验;2.需求分析 本演示程序用VC++6.0编写,完成圆括号、方括号和大括号,其嵌套的顺序随意,即(()[])或{([][])}等为正确格式,[[)]或((()均为不正确的格式。①输入形式:直接输入一串括号;②输出形式:直接输出输入的括号串是否匹配的结果;③程序所能达到的功能:可以多次输入括号串并判断其是否匹配;④测试数据:输入([]()),结果“匹配”输入[([)],结果“此串括号匹配不合法”3.概要设计  1)为了实现上述程序功能,需要定义栈的抽象数据类型:  classStack{   数据对象:kh={ai

2、

3、ai∈count,i=0,1,2,…,n,n≥0}   数据关系:   基本操作:  push(charb)  操作结果:把一个数据压进栈  pop()  操作结果:把一个数据弹出栈  pp(charc[])  初始条件:栈已存在  操作结果:将栈中的元素进行匹配  jc()  初始条件:栈已存在  操作结果:检查栈是否为空  若空,返回0;若不空,返回1.  clear()  操作结果:清空栈  2)本程序包含7个函数:  ①主函数main()  ②栈的构造函数Stack()  ③压栈操作函数push(charb)  ④弹栈操作函数pop(

4、)  ⑤匹配元素函数pp(charc[])  ⑥检查栈操作函数jc()  ⑦清空栈操作函数clear()5各函数间关系如下:mainStackpushpopppjcclear4.详细设计#include#includeusingnamespacestd;constintmaxstack=100;//-------------------------------------------------------------------classStack{//栈类public:Stack(){count=-1;

5、};//初始化计数conutvoidpush(charb);//压栈charpop();//弹栈voidpp(charc[]);//匹配括号intjc();//检查是否为空栈voidclear(){count=-1;}private:intcount;//计数chara[maxstack];//存储};voidStack::push(charb)//压栈函数{if(count>=maxstack);else{count++;a[count]=b;}}charStack::pop()//弹栈函数{if(count<0);else{returna

6、[count--];}return0;}intStack::jc()//检查函数{if(count<0)return0;return1;}voidStack::pp(charc[])//匹配函数5{inti=0,s=1,t;t=strlen(c);//测试输入的字符串长度if(c[0]==')'

7、

8、c[0]==']'

9、

10、c[0]=='}'

11、

12、t%2==1)//判断是否为奇个括号或第一个为左括号{cout<<"此串括号匹配不合法"<<""<

13、

14、c[i

15、]=='['

16、

17、c[i]=='{'){push(c[i]);}else{if(c[i]==')'){if(pop()!='('){s=0;break;}}if(c[i]==']'){if(pop()!='['){s=0;break;}}if(c[i]=='}'){if(pop()!='{'){s=0;break;}}}i++;}if(s==1){if(!jc())cout<<"匹配"<<""<

18、endl;}}//-------------------------------------------------------------------intmain(){chara[maxstack];//数组Stackkh;//栈对象charh;cout<<"**************************"<

19、>h;switch(h){case'1':cout<<"请输入括号:"<>a;kh.pp(a);kh.clear();bre

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

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

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