数据结构实验――括号匹配的检验(附程序)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

#includestdio.h#includestdlib.htypedefstructSNode{chardata;structSNode*next;}SNode,*Stack;typedefstruct{Stacktop;intlength;}SqStack;//定义链式栈的结构体charInitStack(SqStack&S){S.top=NULL;S.length=0;return0;}//初始化链式栈charPush(SqStack&S,chare){Stackp;p=(Stack)malloc(sizeof(SNode));if(!p)exit(0);p-data=e;p-next=S.top;S.top=p;S.length++;return0;}//插入元素echarPop(SqStack&S){if(!S.top)return0;else{Stackq;q=S.top;S.top=S.top-next;--S.length;free(q);}return0;}//删除栈顶元素echarmain(){SqStackS;charw,e;InitStack(S);//初始化链式栈printf(提示:输入“=”表示输入表达式结束,程序将自动检查括号是否匹配\n\n\n);printf(请输入表达式:\n\n\n);scanf(%c,&w);printf(\n);printf(\n);while(w!='='){switch(w){case'(':Push(S,w);break;case'[':Push(S,w);break;case')':if(!S.top)return0;elsee=S.top-data;if(e=='(')Pop(S);break;case']':if(!S.top)return0;elsee=S.top-data;if(e=='[')Pop(S);break;default:break;}scanf(%c,&w);}if(S.top==NULL)printf(输入括号匹配\n);elseprintf(输入括号不匹配,请检查后重新输入\n);return0;}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功