顺序栈—括号匹配
来源:互联网 发布:荔枝网络电视直播 编辑:程序博客网 时间:2024/05/13 10:23
#include<stdio.h>#include<stdlib.h>#include<string.h>#define length 100#define add 10typedef struct size{char *top;char *basic;int stacksize;}Stacks;void InitStacks(Stacks &S){S.basic=(char *)malloc(length * sizeof(char));if(!S.basic){printf("Creat erro!");exit(0);}S.top=S.basic+1;S.stacksize=length;printf("Creat succeed!\n");}void PushStacks(Stacks &S,char c){if(S.top-S.basic>=length){S.basic = (char *)realloc(S.basic,(S.stacksize+add)*sizeof(char));if(!S.basic){printf("add failed!\n");exit(0);}S.stacksize=S.stacksize+add;S.top=S.basic+S.stacksize;}*S.top=c;S.top++;}int EmptyStacks(Stacks S){if(S.top-1==S.basic){//printf("the Stacks is Empty!\n");return 1;}return 2;}char PopStacks(Stacks S){if(!EmptyStacks(S))exit(0);else S.top--;return *S.top;}void Juge(char *Str){Stacks S;InitStacks(S);int i=0;while(Str[i]!='\0'){if(Str[i]=='('||Str[i]=='['||Str[i]=='{'){PushStacks(S,Str[i]);i++;}else if(Str[i]==')'){printf("%c",PopStacks(S));printf("%c",Str[i]);if(PopStacks(S)=='('){i++;S.top--;}else{printf("It`s wrong!");exit(0);}}else if(Str[i]==']'){printf("%c",PopStacks(S));printf("%c",Str[i]);if(PopStacks(S)=='['){i++;S.top--;}else{printf("It`s wrong!");exit(0);}}else if(Str[i]=='}'){printf("%c",PopStacks(S));printf("%c",Str[i]);if(PopStacks(S)=='{'){i++;S.top--;}else{printf("It`s wrong!");exit(0);}}else i++;}//for(i=0;i<3;i++)//{//printf("%c",PopStacks(S));//S.top--;//}//printf("%c",S.top+1);//printf("%d\n",S.top);//printf("%d",S.basic);if(EmptyStacks(S)==1)printf("JUGE RIGHT\n");elseprintf("WRONG\n");}int main(){char str[100];for(int i=0;i<6;i++)scanf("%c",&str[i]);Juge(str);return 0;}
0 0
- 顺序栈—括号匹配
- 括号匹配--顺序栈实现
- 顺序栈实现括号匹配
- 顺序栈实现括号匹配
- 顺序栈使用——括号匹配的检验
- 用顺序栈实现匹配括号功能
- 顺序栈的括号匹配算法
- 判括号匹配(顺序栈)
- 括号的匹配,顺序栈方法
- 顺序栈的应用-括号匹配
- 用顺序栈解决括号是否匹配
- 利用顺序栈实现括号匹配
- 顺序栈 & 顺序栈的括号匹配算法
- 栈——括号匹配
- 栈——括号匹配
- 数据结构(1)——顺序栈的实现,以及括号匹配的应用
- 数据结构(严蔚敏)顺序栈_括号匹配的检验
- 栈的顺序实现以及括号匹配判断程序
- 黑马程序员————JAVA之正则表达式
- hdu 1596 find the safest road
- getApplicationContext()、Activity.this、 getBaseContext区别
- 集群中使用
- css3.弹性盒子
- 顺序栈—括号匹配
- NSNumber转NSString:
- 访问者模式
- 【Python】菜鸟学习笔记(3)数字
- 某某2016笔试题
- ToggleButton学习
- 【DATAGUARD】物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置
- 2754:八皇后
- css>less编译