您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 数据结构实验――括号匹配的检验(附程序)
#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;}
本文标题:数据结构实验――括号匹配的检验(附程序)
链接地址:https://www.777doc.com/doc-4308642 .html