数据结构实验之栈四:括号匹配
2013-01-23 14:03
381 查看
题目描述
给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。输入
输入数据有多组,处理到文件结束。输出
如果匹配就输出“yes”,不匹配输出“no”示例输入
sin(20+10) {[}]
示例输出
yes no
提示
View Code#include<stdio.h> #define maxsize 51 struct stack { char a[maxsize] ; int top ; }s ; int match(char c1, char c2) { if((c1=='{'&&c2=='}')||(c1=='('&&c2==')')||(c1=='['&&c2==']')) return 1 ; else return 0 ; } int m(char *str) { int i ; char c ; s.top = -1 ; for(i=0; str[i]!=0; i++) { switch(str[i]) { case'(': case'[': case'{': s.top++; s.a[s.top] = str[i] ; break ; case')': case']': case'}': c = s.a[s.top] ; if(match(c, str[i])) s.top-- ; else return 0 ; } } if(s.top==-1) return 1; else return 0 ; } int main() { int i ; char str[51] ; while(gets(str)!=NULL) { i = m(str) ; if(i!=0) printf("yes\n") ; else printf("no\n") ; } return 0 ; }
相关文章推荐
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配 字符串匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 2134数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配(java实现)
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配