1. 首页
  2. 编程语言
  3. C
  4. c语言实现的括号匹配算法 无括号算术表达式处理算法

c语言实现的括号匹配算法 无括号算术表达式处理算法

上传者: 2018-12-09 12:37:51上传 RAR文件 3.63KB 热度 44次
c语言实现的括号匹配算法 无括号算术表达式处理算法 #include "seqstack.h" #include "stdio.h" void BracketMatch(char *str); void BracketMatch(char *str) /* str[]中为输入的字符串,利用堆栈技术来检查该字符串中的括号是否匹配*/ { SeqStack S; int i; char ch; InitStack(&S); for(i=0; str[i]!='\0'; i++) /*对字符串中的字符逐一扫描*/ { switch(str[i]) { case '(': case '[': case '{': Push(&S,str[i]); break; case ')': case ']': case '}': if(IsEmpty(&S)) { printf("\n右括号多余!"); return; } else { GetTop(& S,&ch;); if(Match(ch,str[i])) /*用Match判断两个括号是否匹配*/ Pop(&S,&ch;); /*已匹配的左括号出栈*/ else { printf("\n对应的左右括号不同类!"); return; } } }/*switch*/ }/*for*/ if(IsEmpty(&S)) printf("\n括号匹配!"); else printf("\n左括号多余!"); } void main() { char str[100]; printf("please input:"); gets(str); BracketMatch(str); }
用户评论
码姐姐匿名网友 2018-12-09 12:37:51

和我们数据结构书上讲的差不多,具备一定的参考价值!