括号匹配的检验
2013-04-04 10:24
218 查看
void check() { /* 对于输入的任意一个字符串,检验括号是否配对 */ SqStack s; SElemType ch[80],*p,e; if(InitStack(&s)) /* 初始化栈成功 */ { printf("请输入表达式\n"); gets(ch); p=ch; while(*p) /* 没到串尾 */ switch(*p) { case '(': case '[':Push(&s,*p++); break; /* 左括号入栈,且p++ */ case ')': case ']':if(!StackEmpty(s)) /* 栈不空 */ { Pop(&s,&e); /* 弹出栈顶元素 */ if(*p==')'&&e!='('||*p==']'&&e!='[') /* 弹出的栈顶元素与*p不配对 */ { printf("左右括号不配对\n"); exit(ERROR); } else { p++; break; /* 跳出switch语句 */ } } else /* 栈空 */ { printf("缺乏左括号\n"); exit(ERROR); } default: p++; /* 其它字符不处理,指针向后移 */ } if(StackEmpty(s)) /* 字符串结束时栈空 */ printf("括号匹配\n"); else printf("缺乏右括号\n"); } }
相关文章推荐
- 括号匹配的检验
- 栈-括号匹配的检验
- 数据结构(8)--栈的应用之行编辑程序、括号匹配检验、数制转换、hanio塔问题
- 递归应用之括号匹配检验
- 008.栈应用括号匹配的检验C实例
- 括号匹配的检验
- 括号匹配检验 c++
- 栈的应用实践——括号匹配的检验
- C语言数据结构之利用栈进行括号匹配的检验
- fjnu 1738 括号匹配检验
- stack括号匹配检验
- 数据结构(C语言版)page49 3.22括号匹配的检验——用栈来实现
- 【数据结构】用栈实现括号匹配的检验
- [栈]括号匹配的检验
- 括号匹配检验(不用栈的方法)
- 8、数据结构笔记之八栈的应用之括号匹配检验实现
- 括号匹配的检验
- 用栈实现括号匹配的检验
- 数据结构应用-----------括号匹配的检验
- 栈的应用——括号匹配的检验(C语言)